用C语言已有一个已排好序的整型数组,今输入一个整数,要求按原来排序的规律将它插入数组中。例如:原来数组的元素依次为4、6、8、41、56、77、102。若将42插入数组中,则插入后数组元素依次为4、6、8、41、42、56、77、89、102。
时间: 2023-09-29 18:07:33 浏览: 78
python 有一个已经排好序的数组 现输入一个数,要求按原来的规律将它插入数组中 (示例)
5星 · 资源好评率100%
可以使用插入排序算法,具体操作如下:
1.先定义数组和要插入的元素num。
2.遍历数组,找到第一个比num大的元素位置,记为index。
3.从index位置开始,往后将元素逐个后移一个位置,腾出num的位置。
4.将num插入到index位置。
下面是代码实现:
```c
#include <stdio.h>
void insert(int arr[], int len, int num) {
int i, j;
for(i = 0; i < len; i++) {
if(arr[i] > num) {
break;
}
}
for(j = len - 1; j >= i; j--) {
arr[j + 1] = arr[j];
}
arr[i] = num;
}
int main() {
int arr[] = {4, 6, 8, 41, 56, 77, 102};
int len = sizeof(arr) / sizeof(int);
int num = 42;
insert(arr, len, num);
for(int i = 0; i < len + 1; i++) {
printf("%d ", arr[i]);
}
return 0;
}
```
阅读全文