/*创建顺序表并插入元素*/
#include <stdio.h>
#include <stdlib.h>
#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,x; //初始化
int n = 10; //初始化表的长度
Sqlist sq = { {1,2,3,4,5,6,7,8,9,10},n }; //创建一个顺序表
scanf("%d",&i);
scanf("%d",&x);
InsertList(&sq, x,i );
for (i = 0; i < n + 1; i++) {
printf("%d ", sq.data[i]); //打印输出顺序表
}
return 0;
}
03-03
1025