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

 

 注:数据结构三要素——逻辑结构,数据运算,存储结构(物理结构)

线性表的定义:

线性表是具有相同每个数据元素所占的空间一样大数据类型的n(n>=0)个数据元素的有限序列(有次序),其中n为表长,当n=0时线性表是一个空表。

若用L命名线性表,则其一般表示为L=(a1,a2,a3...ai,ai+1,an)

几个概念:

  1. ai是线性表中的“第i个”元素线性表中的位序。注意:位序是从1开始的,数组下标是从0开始的
  2. ai是一个表头元素;an是表尾元素。
  3. 除了第一个元素外,每个元素有且仅有一个直接前驱;除最后一个元素外,每个元素有且仅有一个直接

下图:假设为一个有限线性表,可以很明显的知道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()的内存空间,在其空间内进行的修改,于是我们运行得出的结果相同。

 

 知识总结:

 

posted @ 2020-11-30 10:50  Mikoor  阅读(792)  评论(0)    收藏  举报