已有一个已排好的9个元素的数组,今输入一个数要求按原来排序的规律将它插入数组中。 输入 第一行,原始数列。 第二行,需要插入的数字。 输出 排序后的数列 样例输入 1 7 8 17 23 24 59 62 101 50
时间: 2024-04-16 09:26:17 浏览: 65
有一个已排好序的数组,今输入一个数,要求按排序的规律将它插入数组中。
你可以使用以下的C++代码来实现按照原始排序规则将一个数插入已排好序的数组中:
```cpp
#include <iostream>
#include <vector>
using namespace std;
vector<int> insertIntoSortedArray(vector<int> arr, int num) {
int i = arr.size() - 1;
// 找到插入位置
while (i >= 0 && arr[i] > num) {
arr[i + 1] = arr[i];
i--;
}
// 插入数字
arr[i + 1] = num;
return arr;
}
int main() {
vector<int> arr;
int num;
cout << "请输入已排好序的数字序列(以空格分隔): ";
int temp;
while (cin >> temp) {
arr.push_back(temp);
if (cin.get() == '\n') {
break;
}
}
cout << "请输入需要插入的数字: ";
cin >> num;
vector<int> sortedArr = insertIntoSortedArray(arr, num);
cout << "排序后的数列为: ";
for (int i = 0; i < sortedArr.size(); i++) {
cout << sortedArr[i] << " ";
}
cout << endl;
return 0;
}
```
在上述代码中,`insertIntoSortedArray` 函数接受已排好序的数组和需要插入的数字作为参数。它使用一个循环来找到插入位置,并将比插入数字大的元素后移一个位置。最后,将插入数字放在找到的位置上。`main` 函数获取用户输入的已排好序的数字序列和需要插入的数字,调用 `insertIntoSortedArray` 函数进行插入操作,并输出排序后的数列。
阅读全文