#include<stdio.h>
#include<stdlib.h>
#define Size 5
//定义一个顺序表
typedef struct table{
int *head;//用于定义数组头地址
int length;//记录当前顺序表的长度
int size;//记录顺序表的存储容量
}table;
//初始化顺序表
table initTable() {
table t;
t.head = (int*)malloc(Size * sizeof(int));//动态申请存储空间
if (!t.head) {
printf("顺序表初始化是被失败");
exit(0);
}
t.length = 0;//空表长度初始化为0
t.size = Size;//空表可以存储元素个数
return t;
}
//插入函数,elem:插入的元素 add:插入到顺序表的位置
table addTable(table t, int elem,int add) {
/*1,判断插入本身是否存在问题
如果插入元素位置比整张表的长度+1还大,(如果相等,就是尾随的情况)
或者插入位置本身不存在程序作为提示,自动退出*/
if (add > t.length + 1 || add < 1) {
printf("插入位置有问题");
return t;
}
/*做插入时,首先要看顺序表是否有多余的存储空间提供给插入的元素,
如果没有需要申请
*/
if (t.length==t.size