①无头结点
//初始化一个空的单链表
bool InitList(LinkList &L)
{
L=NULL; //空表,暂时还没有任何结点(防止脏数据遗留)
return true;
}
②有头节点
//初始化一个空的单链表(带头结点)
bool InitList(LinkList &L)
{
L=(LNode*)malloc(sizeof(LNode)); //分配一个头节点
if(L==NULL)
return false;
L->next=NULL;
return true;
}
基本代码如下:
#include<stdio.h>
#include<stdlib.h>
typedef struct LNode //定义单链表结点类型
{
ElemType 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);
}