vector<int> insertIntoSortedArray(vector<int> arr, int num)
时间: 2023-08-21 21:58:37 浏览: 96
给定一个已排好序的整数数组 `arr` 和整数 `num`,要求将 `num` 按照原来的排序规律插入到数组中,并返回排序后的数组。
以下是一个实现此功能的 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` 函数接受已排好序的整数数组 `arr` 和需要插入的整数 `num` 作为参数。它使用一个循环来找到插入位置,并将比插入数字大的元素后移一个位置。最后,将插入数字放在找到的位置上。`main` 函数获取用户输入的已排好序的数字序列和需要插入的数字,调用 `insertIntoSortedArray` 函数进行插入操作,并输出排序后的数列。
阅读全文