1
0
mirror of https://github.com/142vip/408CSFamily.git synced 2026-02-13 15:26:57 +08:00
Files
408CSFamily/docs/DS/linear_table.md
2022-04-09 01:09:36 +08:00

2.7 KiB
Raw Blame History

title
title
线性表

基础概念和基本操作

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

定义

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

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