一、线性表的定义
线性表是具有相同数据类型的n(n>=0)个数据元素的有限序列,其中n为表长。若用L命名线性表,则其一般表示为L=(a1,a2...a(i),a(i+1),...,a(n))。
在设计程序的过程中,为什么要使用线性表?换句话说就是线性表在程序中起到了什么作用?
程序里经常需要一组元素作为整体进行管理和使用,在这个整体中,每个元素的左侧和右侧都有一个元素与之相联系,即有“一对一”相邻的逻辑关系。将具有“一对一”逻辑关系的数据存储起来,这样的存储方式就称为线性表。通过线性表,可以较为容易的对数据进行“增删改查”。
1.1、 关键要素
1、线性表中的每个数据元素所占空间一样大;
2、线性表中的数据需满足有限且有次序的条件;例:所有整数按递增次序排列,该表没有满足有限条件,所以不是一个线性表。
1.2、线性表的几个概念
1、线性表中a(i)表示第“i”个元素在线性表中的位序;
2、a(1)是表头元素,a(n)是表为元素;
3、除第一个元素外,每个元素只有一个直接前驱;除最后一个元素外,每个元素只有一个直接后 继。
二、线性表的基本操作
1、从无到有,从有到无
IntList(&L):初始化表。构造一个空的线性表L,分配内存空间。
DestroyLIstanbul(&L):销毁操作。销毁线性表,并释放线性表L所占用的内存空间。
2、增删改查
ListInsert(&L,i,e):插入操作。在表L中的第i个位置上插入指定元素e。
ListDelete(&L,i,&e):删除操作。删除表L中的i个位置的元素,并用e返回删除元素的值。
LocateElem(L,e):按值查找操作。在表L中查找具有给定关键字的元素。
GetElem(L,i):按位查找操作。获取表L中第i个位置的元素的值。
3、其他常用操作
Length(L):求表长。返回线性表L的长度。即L中数据元素的个数。
PrintList(L):输出操作。按前后顺序输出线性表L的所有元素值。
Empty(L):判空操作。若L为空表,则返回true,否则返回false。
注:在对参数的修改结果需要带回时,需要传入参数的引用“&”