单链表就是链式存取的数据结构(也是线性表的一种),使用一组地址任意的存储单元存放的线性表中的数据元素,这些地址可以连续也可以不连续。
链表的表示方法:结点表示:如下图所示:
data域:存放该节点的数据
next域:存放后继结点的地址
单链表结构的定义:
typedef struct ListNode{
struct ListNode *next;
Datatype data;
}ListNode;
初始化和销毁:
//初始化单链表
void InitList(ListNode **pFirst)
{
ListNode *Node = (ListNode *)malloc(sizeof(ListNode));
*pFirst = NULL;
}
//销毁
void DestroyList(ListNode **pFirst)
{
*pFirst = NULL;
}
下面为单链表基本操作的图解法:
(1)尾插:
头插:
中间插:
尾删:
头删:
中间删: