/*创建顺序表并插入元素*/
#include
#include
#define Maxsize 100 //初始化表的长度
//声明顺序表
typedef struct{
int data[Maxsize]; //存储数组的数组
int length; //顺序表的实际长度
}Sqlist;
//在顺序表中插入元素
void InsertList(Sqlist* l, int x, int i) { //插入位置为i,插入值为x
int j;
if (i<1 || i>l->length+1) { //插入位置不合法
printf("插入位置错误");
}
if (l->length == Maxsize) { //超出顺序表范围,溢出
printf("顺序表已满");
}
for (j = l->length - 1; j >= i; j--) {
l->data[j + 1] = l->data[j]; //整体元素向后移
}
l->data[i] = x; //在位置i插入数据x
l->length++; //顺序表长度加1
}
int main()
{
int i; //初始化
int n = 10; //初始化表的长度
Sqlist sq = { {1,2,3,4,5,6,7,8,9,11},n }; //创建一个顺序表
InsertList(&sq, 10, 9); //在下标9的位置插入元素10
for (i = 0; i < n + 1; i++) {
printf("%d ", sq.data[i]); //打印输出顺序表
}
return 0;
}
//输出结果为:1 2 3 4 5 6 7 8 9 10 11
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)