线性表:具有相同特性的数据元素(既同类型数据)的一个有限序列.
注:同一线性表中的元素必定具有相同特性
线性表的特性:1.有穷性 2.一致性 3.序列性
线性表的最本质特征:有唯一的前驱和后继
线性表的顺序存储结构———顺序表
顺序存储结构——逻辑上相邻的元素,在物理上也相邻
在c语言中,顺序表通常用数组来存储,这与python中的列表不同,数组是给定长度的,数组中元素的地址也是相邻的,且数组中的元素类型一定要相同,而列表list是的长度理论上是可以无限添加的,(因为python内部已经帮我们实现了),列表中的元素类型也开始是不同的,且列表中各元素的可以是任意的。
言归正传,c语言中的顺序表采用数组来实现:
c语言顺序表的基本操作,涉及以下操作:
1.初始化顺序表
2.销毁:顺序存储不存在销毁操作
3.判断顺序表是否为空
4.求顺序表长度
5.输出顺序表元素
6.取值,取出顺序表的某一个值
7.查找,查看某一个值是否在顺序表中
8.插入,在指定位置插入数据,后续元素向后移动,长度增加
9.删除,删除指定位置的数据,后续元素向前移动,长度减小
在顺序表中,为了简单,假设ElemType为int类型,还有一个length来记录顺序表的长度,SQList类型声明如下:
#define MAXSIZE 128
typedef int ElemType;
typedef struct
{
ElemType data[MAXSIZE];//存储线性表的元素值
int length;//存储线性表的元素个数
}SQList;
1)初始化顺序表
&