⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 sqlist.h

📁 题目:参加运动会的N个学校编号为1~N.比赛分成M个男子项目和W个女子项目,项目编号分别为1~M和M+1~M+W.由于个项目参加人数差别较大,有些项目取前5名,得分顺序为7,5,3,2,1 还有些项目
💻 H
字号:
/*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 + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -