静态链表介绍
主要是以游标的形式实现数据的插入与删除。静态链表中维护了两套链表:一套供数据使用;一套链表维护剩余未使用的空间。
代码
#include <stdio.h>
#define LIST_MAX_LEN 1000
typedef struct
{
int x;
}ST_DATA_DEF;
typedef (*CMPDATAFUC)(const ST_DATA_DEF*, const ST_DATA_DEF*);
typedef struct
{
ST_DATA_DEF data;
unsigned int cur;
}ST_LIST_NODE_DEF;
static ST_LIST_NODE_DEF g_List[LIST_MAX_LEN] = {
0};
void initList(ST_LIST_NODE_DEF *list)
{
for (int i = 0; i < LIST_MAX_LEN - 1; i++)
{
list[i].cur = i + 1;
}