不带头结点的单链表
typedef struct LNode{
int data;
struct LNode *next;
}LNode, *LinkList;
//初始化一个单链表
bool InitList(LinkList &L){
L = NULL;
return true;
}
//判断单链表是否为空
bool Empty(LinkList L){
if (L == NULL)
return true;
else
return false;
}
void test(){
LinkList L; //声明一个指向单链表的指针
InitList(L); //初始化一个空表
//....后续代码....
}
带头结点的单链表
typedef struct LNode{
int data;
struct Lode *next;
}Lode, *LinkList;
//初始化一个单链表(带头结点)
bool InitList(LinkList &L){
L = (LNode *) malloc (sizeof(LNode)); //分配一个头结点
if (L==NULL) //内存不足,分配失败
return false;
L->next = NULL; //头结点之后暂时还没有结点
return true;
}
//判断单链表是否为空
bool Empty(LinkList L){
if(L->next == NULL)
return ture;
else
return false;
}
void test(){
LinkList L; //声明一个指向单链表的指针
InitList(L); //初始化一个空表
//....后续代码...
}