1.线性表: 是一个集合,包含具有相同特征的数据元素,
1)表长:所含元素的个数;
2)为一种数据结构;有限性,有序性。
2.线性表只有一个表头元素,一个表位元素,表头无前驱,表位无后继;其他都是有一个直接前驱,直接后继。
3.线性表的存储结构:
1)顺序表 : 逻辑顺序,连续的空间;
特征:① 随机访问特性,即知道下标即可直接访问;
②需要占用连续的存储空间。
2)链表 : 不光包含元素信息,还包含逻辑关系的信息。
特征: ①不支持随机访问,若想访问 n ,必须找到 n-1 节点,以便 获得 n 的位置,所以要用遍历。
②存储空间的利用率与顺序表相比,略低;
③支持动态分配。
注意:顺序表执行操作可能要移动多个元素,链表不用移动。
4.链表的形式
-
单链表
① 单链表中头指针head指向头节点,头节点中不含任何信息;不带头节点当head = NULL时,链表为空。带头节点 head ->next 为 NULL ,链表为空。
②单向的。 -
双链表
①双向的;
②实现方式:在单链表的节点上,多加了一个指针域; -
循环单链表
将最后一个指针域指向第一个节点。
表空判断
① 有头节点:head = head ->next;
② 无头节点:head = NULL; -
循环双链表
-
静态链表