一、线性表的定义和基本操作
①线性表的定义
②线性表的基本操作
③小结
二、顺序表的定义
①顺序表的定义
②顺序表的实现——静态分配
例:
③顺序表的实现——动态分配
例:
④小结
三、顺序表的插入删除
①顺序表插入
②顺序表插入的健壮性
③顺序表插入的时间复杂度
④顺序表删除
⑤顺序表删除的时间复杂度
⑥小结
四、顺序表的查找
①按位查找
②按位查找的时间复杂度
③按值查找
④按值查找的时间复杂度
⑤小结
五、单链表的定义
①用代码定义一个单链表
typedef struct LNode{ ElemType data; struct LNode *next; }LNode,*LinkList;
typedef struct LNode:给一个叫struct LNode的 “结构体” 起个别名(方便后面用)。struct LNode里包含 2 个东西:
ElemType data:存节点的数据(比如数字、字符,ElemType是个 “占位符”,实际用的时候会换成具体类型,比如int);struct LNode *next:定义一个指针变量,变量名是 next,指向下一个节点(这样多个节点就能像链条一样连起来)。}LNode, *LinkList;:
- 把
struct LNode的别名定为LNode(以后写LNode就等于写struct LNode);- 同时定义
*LinkList,它是 “指向LNode的指针” 的别名(以后用LinkList可以直接表示链表的头指针)