C语言已有一个已排好序的数组,今输入一个数,要求按原来排序的规律将它插入数组中
时间: 2023-06-15 22:07:55 浏览: 117
python 有一个已经排好序的数组 现输入一个数,要求按原来的规律将它插入数组中 (示例)
5星 · 资源好评率100%
可以使用插入排序的思想,将新输入的数插入到已排好序的数组中。
具体实现步骤如下:
1. 先找到新输入的数应该插入的位置,即在已排好序的数组中找到第一个比它大的数的位置。
2. 将该位置及其后面的数都往后移动一位,为新输入的数腾出位置。
3. 将新输入的数插入到空出来的位置中。
以下是示例代码:
```
#include <stdio.h>
int main()
{
int arr[10] = {1, 3, 5, 7, 9, 11, 13, 15, 17, 19};
int len = 10;
int num, i, j;
printf("请输入要插入的数:");
scanf("%d", &num);
// 找到要插入的位置
for(i = 0; i < len; i++)
{
if(num < arr[i])
{
break;
}
}
// 将该位置及其后面的数都往后移动一位
for(j = len - 1; j >= i; j--)
{
arr[j + 1] = arr[j];
}
// 将新输入的数插入到空出来的位置中
arr[i] = num;
len++;
// 输出插入后的数组
printf("插入后的数组为:");
for(i = 0; i < len; i++)
{
printf("%d ", arr[i]);
}
printf("\n");
return 0;
}
```
假设输入要插入的数为 6,则输出为:
```
请输入要插入的数:6
插入后的数组为:1 3 5 6 7 9 11 13 15 17 19
```
阅读全文