(一)线性表
一、线性表的定义
1、线性结构的特点
在数据元素的非空有限集中,(1)存在唯一的一个被称作“第一个”的数据元素;(2)存在惟一的一个被称作“最后一个”的数据元素;(3)除第一个之外,集合中的每个数据元素均只有一个前驱;(4)出最后一个之外,集合中每个数据元素均只有一个后继。
2、线性表
一个线性表n个数据元素(或结点)的有序序列:
a0,a1,a2,•••,an-1
其中a0是开始结点,an-1是终端结点,ai是ai+1的前驱结点,ai+1是ai的后继结点。一个数据元素可以由若干个数据项组成。在这种情况下,常把数据元素称为记录。含有大量记录的线性表称为文件。
3、线性表的常用基本操作
ElemType GetElement(Sqlist L,int i,EleType &e) //用e返回L中第i个数据元素的值
status ListInsert(Sqlist &L,int i,EleType e) //在L中第i个位置之前插入新的数据元素e,L长度加1
status ListDelete(Sqlist &L,int i,EleType &e); //删除L的第i个数据元素,并用e返回s其值,L长度减1
注:
以上操作均限定1<=i<=ListLength(L)
&这个符号并不是C语言中的取地址操作,而是为了便于C语言的算法描述,除了值调用以外,增添了C++语言的引用调用的参数传递方式。
二、线性表的顺序表示和实现</