不带头结点:
typedef struct LNode { int data; struct LNode *next; }LNode,*LinkList; //初始化一个空的单链表 bool InitList(LinkList &L) { L = NULL; return true; } void test() { LinkList L; InitList(L); }
带头结点:
typedef struct LNode { int data; struct LNode *next; }LNode, *LinkList; bool InitList(LinkList &L) { L = (LNode *)malloc(sizeof(LNode)); //分配一个头结点 if (L == NULL) //内存不足,分配失败 return false; L->next = NULL; //头结点之后暂时还没有结点 return true; } void test() { LinkList L; InitList(L); }