链式存储结构,存储每一个结点时,既包括数据域(该元素内容),又包括指针域(下一个结点地址)。最后一个结点的指针域为NULL即0。
单链表
结点只有一个指针域的链表,称为单链表或线性链表
双链表
结点有两个指针域(一个指向前一个指向后)的链表,称为双链表
循环链表
首尾相接的链表称为循环链表
链表组成
头结点在算链表元素个数时并不算在内。
头结点的好处(链表几乎都有头结点)
1,无头结点时,头指针为空表示空表。有头结点时,头结点的指针域为空表示空表。所以有头结点便于空表和非空表的统一处理。
2,便于首元结点的处理。
首元结点的地址保存在头结点的指针域中,所以在链表的第一个位置上的操作和其它位置一致,无须进行特殊处理;
链表声明和定义
链表的一些算法
链表初始化
L为头指针
销毁链表
清空链表
获取链表中某元素
插入元素
建立单链表
头插法
尾插法