当前位置 博文首页 > XSES_yasuoman的博客:数据结构——线性表
XSES_yasuoman的博客:数据结构——线性表
作者:[db:作者]
时间:2021-08-31 22:23
线性表的顺序表示
文章目录
- 线性表的顺序表示
- 静态分配(SqList)
- 表示方法
- 基本操作
- 初始化静态分配的顺序表 `InitList(SqList &L)`
- 动态分配(SeqList)
- 表示方法
- 基本操作
- 初始化动态分配的顺序表 `InitList(SeqList &L)`
- 增加动态顺序表长度 `IncreaseSize(SeqList &L, int len)`
- 插入:按位序插入数据元素 `ListInsert(SeqList &L, int i, ElemType e)`
- 删除:按位序删除数据元素,并用 e 返回 `ListDelete(SeqList &L, int i, ElemType e)`
- 查找:按“位序”查找元素并返回 `GetElem(SeqList L, int i)`
- 查找:按值查找,返回其位序 `LocateElem(SeqList L, ElemType e)`
- 线性表的链式表示
- 单链表(LinkList)
- 表示方法
- 基本操作
- 初始化单链表 `InitList(LinkList &L)`
- 求表长 `getListLen(LinkList L)`
- 查找:按“位序”查找元素并返回LNode *结点 `GetElem(LinkList L, int i)`
- 查找:按值查找 `LocateElem(LinkList L, ElemType e)` 返回结点
- 插入:💯 在指定 p 结点之后插入元素 e,后插结点 `InsertNextNode(LNode *p, ElemType e)`
- 插入:在指定 p 结点之前插入元素 e,前插结点 `InsertPriorNode(LNode *p, ElemType e)`
- 插入:💯 按“位序”插入数据 `ListInsert(LinkList &L, int i, ElemType e)`
- 初始化 & 插入:头插法 `List_HeadInsert(LinkList &L)`
- 初始化 & 插入:尾插法 `List_TailInsert(LinkList &L)`
- 逆置:逆置单链表 `ListReverse(LinkList &L)`
- 删除:删除单链表中位序为 i 的元素,并用 e 返回 `ListDelete(LinkList &L, int i, ElemType &e)`
- 删除:删除指定 p 结点,并返回数据 e 的值 `DeleteNode(LNode *p)`
- 循环单链表
-
- 双链表(DLinkList——Double Link List)
- 表示方法
- 基本操作
- 初始化双链表 `InitList(DLinkList &L)`
- 遍历:后向遍历、前向遍历、跳过头结点的前向遍历
- 查找:按位序查找结点 `GetElem(DLinkList L, int i)`
- 插入:💯 在指定 p 结点之后插入结点,后插结点 `InsertNextNode(DNode *p, DNode *s)`
- 插入:按位序插入结点 `ListInsert(DLinkList &L, int i, DNode *s)`
- 删除:删除指定结点 p 的后继结点 `DeleteNextDNode(DNode *p)`
- 销毁:销毁链表 `DestroyList(DLinkList &L)`
- 循环双链表
-
- 静态链表(SLinkList——Static Link List)
-
- Conclusion
cs