前言
“道生一,一生二,二生三,三生万物。” 这句话很好的诠释了链表的诞生,从一个头结点的指针指向下一个结点,再从下一个结点的指针指向再下一个结点,不断的靠指针来开疆拓土,造就了链表。
所以无论是多么大的链表,都是从起源于头结点,而链表的销毁和清空与创造恰好相反,都是以递进式从链表首部的指针开始“free”的,清空和销毁的不同之处仅仅在于是否保留头结点。
目录
1.单链表的创建
2.单链表的销毁
3.单链表的清空
单链表的定义(带头结点单链表)
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
typedef int ElemType; // 自定义队列的数据元素为整数。
typedef struct LNode
{
ElemType data; // 存储队列中的元素。
struct LNode *next; // next指针。
}LNode; //Lnode是定义结点的
typedef struct
{
LNode *front,*rear; // 队列的头指针和尾指针。
}LinkQueue,*PLinkQueue; //此处是用来定义链表的
这个定义用了两个结构体,其中第一个结构体是用来定义结点的,另一个则是定义了头尾指针。
单链表的创建
注意:单链表的创建其实就是创建一个头结点,因为链表是以指针为向导的,而刚创建的链表只有一个头结点,所以不用考虑指针。
int InitQueue(PLink