1.1 线性表的定义和基本操作 线性表就是一串元素的有序排列,它是最基础的数据结构,应用非常广泛,能够进行初
1.1.2 线性表的基本操作
线性表具有很多操作,按照其对数据元素的操作可分为以下几种。在下面的讨论中,设L为线性表结构变量。
(1)void InitList(&L)
初始条件:线性表L不存在。
操作结果:构造一个空的线性表L。
(2)void ClearList(&L)
初始条件:线性表L存在。
操作结果:将线性表L重置为空表,同时释放原线性表所占用的存储空间。
(3)void DestroyList(&L)
初始条件:线性表L存在。
操作结果:销毁线性表L,同时释放原线性表占用的内存空间。
(4)Bool ListEmpty(&L)
初始条件:线性表L存在。
操作结果:判断线性表是否为空表操作。如果线性表L是空表,则返回真,否则返回假。
(5)int ListLength(&L)
初始条件:线性表L存在。
操作结果:求线性表长操作。返回线性表L中数据元素的个数。
(6)int LocateElem(&L,x)
初始条件:线性表L存在。
操作结果:查找数据元素操作。在线性表L中查找首次出现值为x 的数据元素,并返回该元素在L中的位置,查找成功。如果线性表中没有数据元素x,则返回一个特殊值0,表示查找失败。
(7)void GetElem(&L,i,&e)
初始条件:线性表L存在,且1≤i≤ListLength(L)。
操作结果:获取数据元素取值操作。读取线性表L中的第i个数据元素的取值,并将之存储到e中。
(8)void ListInsert(&L,i,x)
初始条件:线性表L存在,且l≤i≤n+1(n为表长)。
操作结果:在线性表L的第i个位置上插入一个值为x的新元素,这样使原序号为i,i+1,…,n的数据元素的序号变为i+1,i+2,…,n+1,插入元素成功后,线性表L的长度增加1(为n+1)。
(9)void ListDelete(&L,i,&e)
初始条件:线性表L存在,1≤i≤n(n为表长)。
操作结果:在线性表L中删除序号为i的数据元素,删除后使序号为i+1,i+2,…,n的元素变为i,i+1,…,n-1,删除元素成功后,线性表L的长度减1(为n-1),被删除的数据元素存储到e中。
(10)void ListLink(&L1,&L2)
初始条件:线性表L1和L2都存在。
操作结果:将线性表L2接到线性表L1之后构成一个新线性表,返回线性表L1的地址。
(11)void ListMeger(&L1,&L2)
初始条件:两个有序线性表L1和L2都存在。
操作结果:将两个有序线性表L1和L2归并成一个新的有序线性表(放到L1中),并返回新线性表的地址。
(12)void visit(&L)
初始条件:线性表L已存在。
操作结果:对指定元素做规定的操作。
(13)void ListTraverse(&L)
初始条件:线性表L已存在。
操作结果:按次序访问线性表中的每个元素一次且只访问一次。
(14)void ListReverse(&L)
初始条件:线性表L已存在。
操作结果:将线性表元素的顺序变成与原来的次序恰好相反,称为就地逆置。
(15)void ListCopy(&L1,&L2)
初始条件:线性表L1已存在,L2不存在。
操作结果:将线性表L1复制到线性表L2中。
关于"最后阶段,真题的正确打开方式_备考经验_考研帮"有15名研友在考研帮APP发表了观点
扫我下载考研帮
最新资料下载
2021考研热门话题进入论坛
考研帮地方站更多
你可能会关心:
来考研帮提升效率