发布网友 发布时间:2024-10-04 17:50
共3个回答
热心网友 时间:2024-10-04 20:54
//已有一个排好序的序列,输入一个数插入该序列中,使其仍然保持有序 #include<stdio.h> #define N 10 void main() { int i=0,data,a[N]={1,2,3,4,6,7,8,9,10},temp; printf("please enter a num:\n"); scanf("%d",&data); while(a[i]<data)i++; //比较大小,使得i指向有序数列比data大或小的第一个数 for(;i<N;i++) // 插入data { temp=a[i]; a[i]=data; data=temp; } for(i=0;i<N;i++) printf("%d ",a[i]); printf("\n"); } 编译可以通过。热心网友 时间:2024-10-04 20:53
//数组a有n个元素,要插入一个元素,需要满足a[n]有意义,即有n+1个元素 //x是要插入的元素 //int a[n+1] for (i = 0; i < n; i++) { if (x < a[i]) //从小到大排好就小于号,反之大于号 { for (j = n; j > i; j--) a[j] = a[j-1]; //元素向后移动 a[i] = x; //移动后插入x break; } }热心网友 时间:2024-10-04 20:54
如果原数组长度为N,遍历原数组和出入的数比较,生成一个长度为N+1的数组