sqlist.h
来自「题目:参加运动会的N个学校编号为1~N.比赛分成M个男子项目和W个女子项目,项目」· C头文件 代码 · 共 35 行
H
35 行
/*sqlist.c*/
#define LIST_INIT_SIZE 20
#define LIST_INCREMENT 10
#define MAKE_SQLIST(TYPE,LISTNAME) struct _##LISTNAME\
{\
TYPE *elem;\
int length;\
int listsize;\
}LISTNAME;
#define SQLIST_INIT(TYPE,LISTNAME) \
LISTNAME##.elem=(TYPE *)malloc(LIST_INIT_SIZE*sizeof(LISTNAME)); \
LISTNAME##.length=0; \
LISTNAME##.listsize=LIST_INIT_SIZE;
#define SQLIST_INSERTBACK(TYPE,LISTNAME,ELEM,COPYFUNC) \
if(LISTNAME##.length>=LISTNAME##.listsize-1) \
{ \
LISTNAME##.elem=(TYPE*)malloc((LISTNAME##.listsize+LIST_INCREMENT)*sizeof(LISTNAME)); \
LISTNAME##.listsize+=LIST_INCREMENT; \
} \
COPYFUNC(&##LISTNAME##.elem[LISTNAME##.length++],&##ELEM); \
#define MakeSqlist(type,listname) MAKE_SQLIST(type,listname)
#define SqlistInit(type,listname) SQLIST_INIT(type,listname)
#define SqlistInsertback(type,listname,elem,copyfunc) \
SQLIST_INSERTBACK(type,listname,elem,copyfunc)
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?