数据结构:线性结构之线性表
就算没有天分,只要你愿意每天花一点时间,做同样一件事情,不知不觉间,你就会走得很远。 什么是线性表? 线性表是n(n>= 0)个元素的有限序列。在表中,元素之间存在这线性的逻辑关系: (1)表中有且仅有一个开始结点; (2)有且仅有一个终端结点; (3)除开始结点外,表中的每一个结点均只有一个前驱结点; (4)除终端结点外,表中的每一个结点均只有一个后继结点; 根据他们之间的关系可以排成一个现线性序列,记作:(a1,a2,...,an) 例如:26个英文字母表(A,B,C,...,X,Y,Z)就是一个线性表 这里的ai(1<=i<=n)属于同一数据对象,具有相同的数据类型。线性表中的数据元素 个数n就是线性表的长度,称作表长,n=0时为空表。i则是数据元素ai的位序。 线性表的存储方式 线性表有两种存储方式:顺序存储和链式存储 (一)顺序表 顺序存储是在内存中用一块地址连续的存储空间按顺序存储线性表的各个数据元素。 采用顺序存储结构的性表称为顺序表,顺序表中逻辑上相邻的数据元素在物理存储位置上也是相邻的。 只要确定了存储线性表的起始位置,线性表中的任意一个数据都可随机存取: 第i个元素的地址为:Loc(ai) = Loc(a1) + size * (i - 1) 其中size是每个元素所占的空间大小。 C语言版的实现 #include <stdio.h> #include