单链表的初始化代码

①无头结点

//初始化一个空的单链表
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
#include

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);
}

你可能感兴趣的:(单链表的初始化代码)