有一个已排好序的数组,要求输入一个数后,按原来排序的规律将它插入到数组中。c语言
时间: 2023-12-15 14:06:15 浏览: 84
python 有一个已经排好序的数组 现输入一个数,要求按原来的规律将它插入数组中 (示例)
5星 · 资源好评率100%
在已排好序的数组中插入一个数,可以按照以下思路进行处理:
1. 如果插入的数比数组中最后一个大,则需特殊处理:即在最后的空白位置插入即可。
2. 如果比最后的数小,那么利用遍历找到第一个比该数大的数为止。将这个数以后的均向后移动一位,然后在该出插入即可。
下面是C语言的代码实现:
```c
#include <stdio.h>
int main() {
int a[6] = {2, 4, 5, 7, 8};
int end = a[4]; // 标记末尾数
int num, i, j;
// 输出原数组
for (i = 0; i < 5; i++) {
printf("%d ", a[i]);
}
printf("\n");
// 输入插入的数
scanf("%d", &num);
// 判断插入位置
if (num > end) {
a[5] = num;
} else {
for (i = 0; i < 5; i++) {
if (a[i] > num) {
for (j = 5; j > i; j--) {
a[j] = a[j - 1];
}
a[i] = num;
break; // 插入完成即可退出循环
}
}
}
// 输出插入的数组
for (i = 0; i < 6; i++) {
printf("%d ", a[i]);
}
return 0;
}
```
输入一个数后,程序会将其插入到数组中,并按原来排序的规律输出插入后的数组。
阅读全文