在顺序表数组中要插入或删除某个元素时,往往要移动大量元素,这样会严重的影响效率。此时我们可以用单链表来解决问题,单链表用的不是连续的存储单元,所以对于插入或删除的操作所需的操作大大减少,大大优化了时间效率。
对于每个单链表的结点类型都包括两个部分:数据域和指针域。
定义单链表结点类型:
typedef struct LNode {
int data;//数据域(可以是任何的数据类型包括自己定义的数据类型)
struct LNode* next;//指针域
}LNode,* LinkList;
单链表的初始化:
初始化过程即为定义一个头结点,并且将头结点的指针域指向NULL。
void f1(LinkList& L)//初始化
{
L = (LNode*)malloc(sizeof(LNode));//定义一个头结点。
L->next = NULL;//将头结点的指针域指向NULL。
}