跳至主要內容

基础概念


线性表的基础概念和操作

强调线性表是一种逻辑结构,不是存储结构

定义

线性表是具有相同数据类型的n(n≥0)个数据元素的有限序列。一般表示:

L=(a1,a2,a3......an) 其中n可以理解为表长(线性表的长度),n=0时候,即表空

  • 表头元素:线性表中唯一的“第一个”数据元素,例如a1
  • 表尾元素:线性表中唯一的“最后一个”数据元素,例如an

重要逻辑特性:

  • 除表头元素外,线性表中每个元素有且仅有一个直接前驱
  • 除表尾元素外,线性表中每个元素有且仅有一个直接后继

基于此,这种线性有序的逻辑结构,使得线性表的特点如下:

  • 元素的个数有限(强调有限序列)
  • 元素在逻辑上具有顺序性,在序列中每个元素都是都有先后次序的
  • 元素都数据元素,每个元素都是单个元素
  • 元素的数据类型都相同(强调相同数据类型),每个数据元素占用相同大小的存储空间
  • 元素具有抽象性,仅仅讨论元素之间的逻辑关系,不需要去考虑元素究竟表示的什么内容

Tips: 线性表是一种逻辑结构,表示元素之间一对一的相邻关系。顺序表和链表则指的是存储结构

基本操作

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

线性表是具有相同的数据类型的有限个数据元素组成的,数据元素是由数据项组成的