用 Visual C++语言写一段代码:写一个函数,它的功能是从键盘读入一个数,然后将它插入到一个按从小到大的顺序排列好的数组中。
时间: 2024-09-29 07:06:24 浏览: 39
在Visual C++中,你可以创建一个动态数组来实现这个功能。下面是一个简单的示例,它定义了一个函数`InsertSortedArray`,首先从用户输入获取整数,然后将其插入到已经排序好的数组中:
```cpp
#include <iostream>
#include <vector>
using namespace std;
// 插入元素保持数组有序
void InsertSortedArray(vector<int>& arr) {
int input;
cout << "请输入一个整数: ";
cin >> input;
// 如果数组为空或者新数小于当前最小值
if (arr.empty() || input <= arr[0]) {
arr.insert(arr.begin(), input);
} else {
// 使用二分查找法找到插入位置
auto it = lower_bound(arr.begin(), arr.end(), input);
arr.insert(it, input);
}
cout << "插入后的数组: ";
for (const auto& num : arr) {
cout << num << " ";
}
cout << endl;
}
int main() {
vector<int> sortedArr; // 初始化空数组
// 循环读取直到用户停止输入
while (true) {
InsertSortedArray(sortedArr);
char continueInput;
cout << "是否还要继续输入? (y/n): ";
cin >> continueInput;
if (continueInput != 'y') break;
}
return 0;
}
```
在这个程序中,我们使用了`lower_bound`函数来找到输入数字应该插入的位置,以保持数组始终有序。当用户选择退出时,循环会结束。
阅读全文