简单静态顺序表实现
本篇全部代码都在Linux系统下完成
概念:
用一段地址连续的单元依次存储数据元素的线性结构,顺序表又分为静态顺序表和动态顺序表
功能:
- 初始化顺序表
- 在表尾插入数据
- 在表头插入数据
- 删除表尾数据
- 删除表头数据
- 读取任意位置元素
- 修改任意位置元素
- 查找指定元素值的下标
- 在表中任意位置插入元素
首先创建一个结构体Seqlist,在结构体中我们定义了一个数组seqlist,用来存放数据,以及一个无符号整形变量size,用来控制顺序表有效数据的个数。
即我们通过一个简单的数组实现顺序表的一些功能
8 #define SeqlistMax 50
9 typedef char Type;
10 typedef struct Seqlist{
11 Type seqlist[SeqlistMax];
12 size_t size;
13 }Seq;
接下来我们将顺序表初始化一下
4 void SeqlistInit(Seq* seq)
5 {
6 if(NULL == seq){
7 printf("INPUT ERROR!\n");
8 return;
9 }
10 seq->size = 0;
11 }
我们在用指针当做形参时,必须要判断其是否为空,如果不为空,才能进行接下来的工作。初始化完成之后我们再进行接下来的功能实现,函数内部只实现一个数据的插入与删除,如果想进行多个数据的操作,可以在测试函数中实现。
- 尾部插入
26 void SeqlistPushBack(Seq* seq ,Type A)
27 {
28
29 if(NULL == seq){
30 printf("INPUT ERROR!\n");
31 return;
32 }
33 if(seq->size>=SeqlistMax){
34 printf("The excel is full\n");
35