0
点赞
收藏
分享

微信扫一扫

数据结构二 表(基础概念版)

技术只适用于干活 2022-02-19 阅读 30

二、表

2.1概念
表(线性表),是由n个同类型的元素组成的有限序列;
元素个数为表长度;n=0为空表;
类型(k为元素在表L的位置,x为L表的元素之一)

类型含义
ListEmpty(L)测试表L是否为空表
ListLength(L)测表长度
ListLocate(x,L)找元素x在表L的位置(多x情况返回到第一个x那里)
ListRetrieve(k,L)找L表里k处的元素(无k,则无定义)
ListInsert(k,x,L)在L表里k的位置后插入元素x(其他元素后推,无k无定义)
ListDelete(k,L)删除表L里k位置上的元素(返回被删元素)
PrintList(L)打印表L中的元素(按顺序)

2.2实现表方法:

①数组
将表的元素放在数组里保存。
优点:数组是连续储存的,所以随机访问速度快(数组的首地址+下标*sizeof(结构体));
缺点:插入、删除的效率低,插入一个元素,后面的元素会总体后移。

②指针
用指针将存储表元素的单位都连接在一起。
需要用指针来表示元素之间的逻辑关系,所以,插入一个元素的时候就不至于大动干戈。

③间接寻址
刚好和数组相反。方便存储数据,不方便读数据

2.3循环链表
普通的链表(上面123)尾和头连起来。

2.4双链表
在链表结点处设双指针,分别指向前驱结点和后驱结点。

2.5表的搜索游标

类型含义
IterInit(L)初始化搜索游标
IterNext(L)搜索游标的下一个位置
CurrItem(L)搜索游标处的元素
InsertCurr(x,L)在当前搜索游标处插入元素x
DeleteCurr(L)删除当前搜索游标处元素

注意:在用数组实现表的搜索游标和单循环链表的搜索游标里,新增的curr数据成员,前者是记录当前的搜索游标,后者是记录当前的搜索游标指针

举报

相关推荐

0 条评论