2.11 设顺序表va中的数据元素递增有序。试写一算法,将x插入到顺序表的适当位置上,以保持该表的有序性。
#include <stdio.h>
#include <string.h>
#define N 100
int a[N];
int n;
int insertSql(int x,int a[]){//向数组插入数据算法
int i,j;
int m = sizeof(a);
printf("请输入一个数据:");
scanf("%d",&x);
//查找插入位置
for(i = 0; i < m; i++){
if(a[i+1] > x){
break;
}
}
//移动数据
for(j = m; j > i; j--){
a[j] = a[j - 1];
}
//插入
a[i+1] = x;
return 0;
}
//程序验证
int main()
{
scanf("%d",&n);//数组中有几个数字
for(int i = 0; i < n; i++){
scanf("%d",&a[i]);//输入数组中有几个数字
}
printf("数组中的数据为:\n");
for(int i = 0; i < n; i++){
printf("%d ",a[i]);
}
printf("\n");
int z;
insertSql(z,a);
printf("数组中的数据为:\n");
for(int i = 0; i < n + 1; i++){
printf("%d ",a[i]);
}
return 0;
}