单链表是线性表链式存储的一种,其储存不连续。单链表的数据结构中包含两个变量:数据和指向下一结点的指针。一个结点只知道下一个结点的地址。一个单链表必须有一个头指针,指向单链表中的第一个结点。否则链表会在内存中丢失。
1.带头结点的单链表(头结点的数据域为空,仅仅只有一个指针指向下一个结点,最后一个结点的指针域指向NULL)
(1)定义每个结点的存储结构为数据域(类型可以自己改)和指针域(指向下一个结点的指针);链表储存结构为一个头结点和一个节点的计数器,可以通过头节结点来遍历其他结点,计数器可以方便我们对的单链表的使用。
typedef int ElemType;
typedef struct Node
{
ElemType data;
struct Node *next;
}Node;
typedef struct LinkList
{
struct Node head;
int count;
}LinkList, *pList;
(2)带头结点链表的初始化
void InitLinkList(pList list)
{
list->count = 0;
list->head.next = NULL;
}
(3)在插入元素之前,首先要申请一个结点类型,简称“购买结点”ÿ