顺序表的定义及查询插入删除算法的实现

文章目录

    • 1 线性表的定义
    • 2 线性表的抽象数据类型
    • 3 线性表的顺序存储结构
    • 4 顺序存储结构的插入与删除
      • 4.1 获取元素
      • 4.2 插入操作
      • 4.3 删除操作
    • 5 顺序存储结构的优缺点

1 线性表的定义

线性表(List):零个或多个数据元素的有限序列。

  1. 线性表是一个序列。元素之间是有顺序的,若元素存在多个,则第一个元素无前驱,最后一个元素无后继,其他每个元素都有且只有一个前驱和后继。
  2. 线性表强调是有限的,在计算机中处理的对象都是有限的,那种无限的数列,只存在于数学的概念中。

在较复杂的线性表中,一个数据元素可以由若干个数据项组成。

顺序表的定义及查询插入删除算法的实现_第1张图片

2 线性表的抽象数据类型

线性表的抽象数据类型定义伪代码如下:

ADT 线性表(List)
DATA
	线性表的数据对象集合为{
   a1,a2,·····,an},每个元素的类型均为DataType。其中,除第一个元素a1外,每一个元素有且只有—个直接前驱元素,除了最后一个元素an外,每—个元素有且只有一个直接后继元素。数据元素之间的关系是一对一的关系。
Operation
	InitList(*L):初始化操作,建立一个空的线性表L。
	ListEmpty(L):若线性表为空,返回为true,否则返回false。
	ClearList(*L):将线性表清空。
	GetElem(L,i,*e):将线性表L中的第i个位置元素返回给e。
	LocateElem(L,e):在线性表L中查找与给定值e相等的元素,如果查找成功,返回该元素在表中序号表示成功;否					   则返回0表示失败。
	ListInsert(*L.i,e):在线性表L中的第i个位置插入新元素e。
	ListDelete(*L,i,*e):删除线性表L

你可能感兴趣的:(数据结构,数据结构,算法,c++)