本篇博文主要是针对线性表展开。
线性表的定义:线性表是由n(n>=0)个元素的一个有限序列。
*NOTE:线性表中的数据元素可以是一个数,或一个符号,也可以是一个复杂类型,但同一线性表中的数据元素必须具有相同的属性。
线性表的逻辑结构:线性表的逻辑结构是线性结构,元素之间是一对一的关系,即除表头元素以外,每个元素有且只有一个直接前驱,除表尾元素以外,每个元素有且只有一个直接后继,当表中只有一个元素a1时,它既没有前驱元素也没有后继元素。
线性表顺序存储结构:用一组地址连续的存储单元依次存储线性表的数据元素。
插入时,必须从后向前循环。删除时,必须从前向后循环。
顺序存储结构的主要优点是节省存储空间,因为分配给数据的存储单元全用存放结点的数据(不考虑c/c++语言中数组需指定大小的情况),结点之间的逻辑关系没有占用额外的存储空间。采用这种方法时,可实现对结点的随机存取,即每一个结点对应一个序号,由该序号可以直接计算出来结点的存储地址。但顺序存储方法的主要缺点是不便于修改,对结点的插入、删除运算时,可能要移动一系列的结点。
优点:随机存取表中元素。缺点:插入和删除操作需要移动元素。