跳至主要內容

基础概念

微信公众号:储凡March 7, 2021About 7 min

线性表的基础概念和操作

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

root(数据结构三要素)
    (逻辑结构)
    (存储(物理)结构)
        (顺序存储)
        (链式存储)
        (索引存储)
        (散列(Hash)存储)
    (数据的运算)

定义

线性表是具有相同数据类型的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所占用的内存空间(类似:释放内存)

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

上次编辑于: 9/26/2024, 4:05:53 AM
贡献者: 公众号:Rong姐姐好可爱