当前位置 博文首页 > 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