#include<stdio.h>
//命名规范
#define Maxsize 50
typedef int ElemType;//让顺序表存储其他类型元素时,可以快速完成代码修改
typedef struct {
ElemType data[Maxsize];
int length;//顺序表长度
}Sqlist;
bool ListInsert(Sqlist &L,int i,ElemType element) {
//判断i是否合法
if (i<1 || i>L.length+1)
{
return false;
}
//如果存储空间满了,不能插入
if (L.length==Maxsize)
{
return false;
}
//把后面的元素依次往后移动
for (int j = L.length; j >=i;j--)
{
L.data[j] = L.data[j - 1];
}
L.data[i - 1] = element;//放入要插入的元素
L.length++;//根据顺序表长度加1
return true;//插入成功后返回true
}
//打印顺序表
void PrintList(Sqlist L) {
int i;
for (i= 0; i < L.length; i++) {
printf("%d\n",L.data[i]);
}
printf("\n");
}
int main()
{
Sqlist L;//定义一个顺序表
bool ret;//用来装函数的返回值
L.data[0] = 1;
L.data[1] = 2;
L.data[2] = 3;
L.length = 3;
ret = ListInsert(L, 2, 60);
PrintList(L);
if (ret)
{
printf("打印成功\n");
}
else {
printf("打印失败\n");
}
return 0;
}