已有一个已排好序的数组,要求输入一个数后,按原来排序的规律将它插入数组中
时间: 2023-12-01 15:43:19 浏览: 55
可以使用插入排序算法来实现已有一个已排好序的数组,要求输入一个数后,按原来排序的规律将它插入数组中。具体步骤如下:
1. 定义一个已排好序的数组和一个待插入的数m。
2. 遍历已排好序的数组,将待插入的数m与数组中的每个数进行比较,找到第一个比m大的数的位置i。
3. 将数组中i及其后面的数都向后移动一位,腾出位置i。
4. 将待插入的数m插入到位置i上。
5. 输出插入后的数组。
下面是C语言的实现代码:
```c
#include <stdio.h>
int main() {
int a[11] = {1, 3, 5, 7, 8, 9, 10, 11, 13, 14};
int i, j, m;
printf("Enter an integer number: ");
scanf("%d", &m);
// 找到第一个比m大的数的位置i
for (i = 0; i < 10; i++) {
if (m < a[i]) {
break;
}
}
// 将i及其后面的数都向后移动一位
for (j = 9; j >= i; j--) {
a[j + 1] = a[j];
}
// 将待插入的数m插入到位置i上
a[i] = m;
// 输出插入后的数组
printf("\n插入后的数组:\n");
for (i = 0; i < 11; i++) {
printf("%5d", a[i]);
}
return 0;
}
```