带头结点与不带头结点的单链表实现

Posted swefii

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了带头结点与不带头结点的单链表实现相关的知识,希望对你有一定的参考价值。

不带头结点:

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

 

以上是关于带头结点与不带头结点的单链表实现的主要内容,如果未能解决你的问题,请参考以下文章

C语言实现单链表(带头结点)的基本操作

求不带头结点的单链表的逆置算法?

经典算法学习——非循环双向链表实现冒泡排序(不带头结点)

每天进步一点点之带头节点单链表

带头结点的单链表

什么叫带头结点的链表? 什么叫不带头结点的链表?