Linear List
基本定义
n(n>=0)个具有相同特性数据元素(每个数据元素可能包含多个数据项)组成的有限序列。
数据结构实现
顺序实现:顺序表
#define LIST_INIT_SIZE 100
#define LIST_INCREMENT 10
typedef struct _sqlist{
Elemtype* elem;
int length;
int size;
}SqList;
链式实现
链式表 (用一组任意的存储单元存储线性表中元素)
#define LIST_INIT_SIZE 100
typedef struct _lnode{
Elemtype* elem;
struct _lnode * next;
}Lnode,*LinkList;
其他的链式表:循环链表(尾部next回到头结点head)、双向链表、双向循环链表
一些典型问题
- 顺序表和链式表的比较,例如是否能随机存取和顺序存取-
- 链式表不同实现对于线性结构(线性表、栈、队列)的不同操作时间复杂度的影响
- 时间复杂度分析:线性表插入、删除,链式表插入、删除…
- 容易搞错的基本操作:清空表、销毁表