您当前的位置:首页 > 计算机 > 编程开发 > C语言

线性表的定义和基本操作:理解表头元素、表尾元素、前驱和后继几个概念

时间:02-21来源:作者:点击数:

线性表的定义

线性表是具有相同数据类型的n (n>=0)个数据元素的有限序列。其中n为表长,当n=0 时该线性表是一个空表。若用L命名线性表,则其一般表示如下:
          L=(a1, a2, ..., ai, ai+1, ..., an)

其中,a1是唯一的“第一个”数据元素,又称为表头元素;an是唯一的“最后一个”数据元素,又称为表尾元素。除第一个元素外,每个元素有且仅有一个直接前驱。除最后一个元素外,每个元素有且仅有一个直接后继。以上就是线性表的逻辑特性,这种线性有序的逻辑结构正是线性表名字的由来。

由此,我们得出线性表的特点如下:

  • 表中元素的个数有限。
  • 表中元素具有逻辑上的顺序性,在序列中各元素排序有其先后次序。
  • 表中元素都是数据元素,每一个表元素都是单个元素。
  • 表中元素的数据类型都相同。这意味着每一个表元素占有相同数量的存储空间。
  • 表中元素具有抽象性。就是说,仅讨论表元素之间的逻辑关系,不考虑元素究竟表示什么内容。

注意:线性表是一种逻辑结构,表示元素之间一对一的相邻关系。顺序表和链表是指存储结构,两者属于不同层面的概念,因此不要将其混淆。

线性表的基本操作

一个数据结构的基本操作是指其最核心、最基本的操作。其他较复杂的操作可以通过调用其基本操作来实现。线性表的主要操作如下:

  • InitList(&L):初始化表。构造一个空的线性表。
  • Length(L):求表长度。返回线性表L的长度,即L中数据元素的个数。
  • LocateElem(L, e):按值查找操作。在表L中查找具有给定关键字值的元素。
  • GetElem(L, i):按位查找操作。获取表L中第i个位置的元素的值。
  • ListInsert(&L, i, e):插入操作。在表L中第i个位置上插入指定元素。
  • ListDelete(&L, i, &e):删除操作。删除表L中第i个位置的元素。
  • PrintList(L):输出操作。按前后顺序输出线性表L的所有元素值。
  • Empty(L):判空操作。若L为空表,则返回true,否则返回false。
  • DestroyList(&L):销毁操作。销毁线性表,并释放线性表L所占用的内存空间。

注意:

  • 基本操作的实现取决于采用哪一种存储结构,存储结构不同,算法的实现也不同。
  • '&'表示C++中的引用。如果传入的变量是指针型的变量,且在函数体内要对传入的指针进行改变,则将用到指针变量的引用型;在C中采用指针的指针也可达到同样的效果。
方便获取更多学习、工作、生活信息请关注本站微信公众号城东书院 微信服务号城东书院 微信订阅号
推荐内容
相关内容
栏目更新
栏目热门