线性表的定义和基本操作(考研)

注:数据结构三要素——逻辑结构,数据运算,存储结构(物理结构)
线性表的定义:
线性表是具有相同(每个数据元素所占的空间一样大)数据类型的n(n>=0)个数据元素的有限序列(有次序),其中n为表长,当n=0时线性表是一个空表。
若用L命名线性表,则其一般表示为L=(a1,a2,a3...ai,ai+1,an)
几个概念:
- ai是线性表中的“第i个”元素线性表中的位序。注意:位序是从1开始的,数组下标是从0开始的。
- ai是一个表头元素;an是表尾元素。
- 除了第一个元素外,每个元素有且仅有一个直接前驱;除最后一个元素外,每个元素有且仅有一个直接
下图:假设为一个有限线性表,可以很明显的知道a1就为此表的表头元素,只有后继没有前驱,a5就为表尾元素,只有前驱没有后继。除表头元素和表尾元素外
所有的元素且都有一个前驱和后继。

线性表的基本操作:
InitList(&L):初始化表。构造一个空的线性表L,分配内存空间。
DestoryList(&L):销毁操作。销毁线性表,并释放线性表L所占用的内存空间。(从无到有,从有到无)
ListInseret(&L,i,&e):插入操作,在表L中的第i个位置上插入指定元素e。
ListDelete(&L,i,&e):删除操作。删除表L中第i个位置的元素,并用e返回删除元素的值。
LocateElem(L,e):按值查找操作。表L中查找具有给定关键字值的元素。
GetElem(L,i):按位查找操作。获取表L中第i个位置的元素的值。
其他常用操作:
Length(L):求表长。返回线性表L的长度,即L中数据元素的个数。
PrintList(L):输出操作。按前后顺序输出线性表L的所有元素值。
Empty(L):判空操作。若L为空表,则返回true,否则返回false。
了解参数引用“&”——对参数修改得出的结果
图中我们可以得知,在main()中x值传入text(int x)中,实质上将main()中x值复制到了text(int x)的内存地址中,得出的结果互不相同,因此在不同内存地址修改的值是相互不受影响的。

在同样的代码中我们添加了“&”引用,可以看到“&”引用了main()的内存空间,在其空间内进行的修改,于是我们运行得出的结果相同。

知识总结:


浙公网安备 33010602011771号