用c++编写一维数组长度为 10,利用非序算法生成由小到大的顺序,输出有序数组,再由键盘揄入-个整数,插入已排子的数组中,要求仍然有序 《由小到大),输出字生成的有宇数
时间: 2024-02-26 14:59:14 浏览: 72
这里是一个C++的实现:
```cpp
#include <iostream>
#include <algorithm>
using namespace std;
int main() {
// 生成一个随机的一维数组
int arr[10];
for (int i = 0; i < 10; i++) {
arr[i] = rand() % 100 + 1;
}
// 排序
for (int i = 0; i < 9; i++) {
for (int j = i+1; j < 10; j++) {
if (arr[i] > arr[j]) {
swap(arr[i], arr[j]);
}
}
}
// 输出有序数组
cout << "有序数组:";
for (int i = 0; i < 10; i++) {
cout << arr[i] << " ";
}
cout << endl;
// 插入一个整数
int num;
cout << "请输入一个整数:";
cin >> num;
for (int i = 0; i < 10; i++) {
if (num < arr[i]) {
for (int j = 9; j > i; j--) {
arr[j] = arr[j-1];
}
arr[i] = num;
break;
} else if (i == 9) {
arr[i] = num;
}
}
// 输出插入后的有序数组
cout << "插入后的有序数组:";
for (int i = 0; i < 10; i++) {
cout << arr[i] << " ";
}
cout << endl;
return 0;
}
```
这个程序首先生成一个长度为10的随机一维数组,使用冒泡排序算法将其排序,输出有序数组。接着,从键盘输入一个整数,使用插入排序算法将其插入到已排好序的数组中,并输出插入后的有序数组。注意,C++中的`swap()`函数用于交换两个变量的值,可以方便地交换数组中的元素。
阅读全文