线性表
概述
顾名思义,就是看上去像是一条线的表,元素与元素之间的关系是一对一的,或者说至多一个前驱且至多一个后继。
数组就是最最简单的线性表,每个元素都与他后面的元素在逻辑上相连,连成的一条线就叫做线性表。
说的高级一点就是n(n>=0)个元素构成的有序序列
注意到有个有序。这个有序可不是说是元素的顺序,而是元素组织起来的顺序。比如5 3 2 1 4这个序列,5这个元素是这个序列的0号元素,3这个元素是序列的1号元素,这就属于有序序列。
操作
对于线性表,应该有以下操作:
初始化:初始化一个空表
随机访问:根据位置序号访问元素
元素访问:查找某个元素在表中第一次出现的位置
插入:插入新元素到指定位置
删除:删除指定位置的元素
返回长度:返回表的长度
存储方式
线性表有两种实现方式,分别是顺序存储和链式存储。
顺序存储,就是逻辑上相邻的两个元素,实际上也相邻的存储方式。0号元素的邻居就是1号元素。
链式存储,就是逻辑上相邻的两个元素,实际上不一定相邻,只是在前一个“元素里”告诉你下一个元素在哪。
特殊线性表
栈:先进后出(FILO)的线性表
队列:先进先出(FIFO)的线性表