c++己经有一个排好序的数组,要求输入一个数后,按原来排序的规律将它插入数组中
时间: 2023-06-05 21:47:54 浏览: 158
可以使用二分查找的方法找到插入位置,然后将插入位置之后的元素依次后移,最后将要插入的数放入插入位置即可。
具体步骤如下:
1. 输入要插入的数num。
2. 使用二分查找找到插入位置index,即找到第一个大于等于num的元素的位置。
3. 将插入位置之后的元素依次后移,从最后一个元素开始,依次将元素往后移动一个位置,直到插入位置。
4. 将要插入的数num放入插入位置index。
代码如下:
```c++
#include <iostream>
using namespace std;
int main() {
int a[10] = {1, 3, 5, 7, 9, 11, 13, 15, 17, 19}; // 已排序数组
int n = 10; // 数组长度
int num; // 要插入的数
cout << "请输入要插入的数:";
cin >> num;
int index = n; // 插入位置
for (int i = ; i < n; i++) {
if (a[i] >= num) {
index = i;
break;
}
}
for (int i = n - 1; i >= index; i--) {
a[i + 1] = a[i];
}
a[index] = num;
n++; // 数组长度加1
cout << "插入后的数组为:";
for (int i = ; i < n; i++) {
cout << a[i] << " ";
}
cout << endl;
return ;
}
```
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)