线性表是最简单的数据结构,除第一个位置的数据元素外,其它数据元素位置的前面都只有一个数据元素,除最后一个位置的数据元素外,其它数据元素位置后面都只有一个元素。
线性表的顺序存储和链式存储各有优缺点,线性表如何存储取决于使用的场合。如果不需要经常在线性表中进行插入和删除,只是进行查找,那么,线性表应该顺序存储;如果线性表需要经常插入和删除,而不是经常进行查找,则线性表应该链式存储。
2.1.1线性表的定义
线性表(List)是由n个形同类型的数据元素构成的有限序列。记为:L=(a1,a2,···,ai,···,an),将ai-1称为ai的直接前驱,将ai+1称为ai的直接后继。
线性表的形式化定义:线性表(List)简记为L,是一个二元组,L=(D,R),D是数据元素的有限集合,R是数据元素之间关系的有限集合。
在一个复杂的线性表中,一个数据元素是一个记录,由若干个数据项组成,含有大量记录的线性表又称为文件(File)。例如学生信息表,表中的每一行是一个记录,一个记录(数据元素)由学号、姓名、班级、姓名等组成。
2.2顺序表(顺序表是死的)
对顺序表进行插入和删除操作时,需要通过移动数据元素来实现,影响了运行效率。
优点:存储空间是连续的。
2.2.1顺序表的定义
线性表的顺序储存:把表中的元素一个接一个地放进顺序的储存单元,用这种方式储存 的线性表叫顺序表,特点是:表中相邻的数据元素在内存中储存位置也