单链表是一种链式存取的数据结构,用一组地址任意的存储单元存放线性表中的数据元素。链表中的数据是以结点来表示的,每个结点的构成:元素(数据元素的映象) + 指针(指示后继元素存储位置),元素就是存储数据的存储单元,指针就是连接每个结点的地址数据。
1、单链表的存储结构
单链表的存储结构分为两种,带头结点的单链表和不带头结点的单链表,今天我写的是带头结点的单链表,不带头结点与之一样,只是将头变为了头指针指向第一个结点。最后一个结点的指针指向空。
typedef int ElemType;
typedef struct Node
{
ElemType data; //数据域,存储数据
struct Node *next; //指针域,指向下一个结点
}Node;
typedef struct LinkList
{
Node head; //链表的头结点,指向第一个结点
int count; //链表中的结点个数
}LinkList, *pLinkList;
2、单链表的初始化
void InitLinkList(pLinkList list)
{
list->count = 0;
list->head.next = NULL; //初始化是将头指针指向空
}
3、单链表的扩容
由于单链表存