使用c++语言随机生成20个正整数,用冒泡法进行排序,每行显示十个数据。排序前、后都要输出。
时间: 2024-10-23 21:07:02 浏览: 16
C/C++数据结构_随机10000个数:排序~8大排序代码集.rar
在C++中,你可以使用`<iostream>`库来处理输入输出,`<cstdlib>`库来生成随机数,`<ctime>`库来设置时间种子保证每次运行结果不同,`<vector>`库来存储和操作数组,以及经典的冒泡排序算法。下面是一个简单的示例:
```cpp
#include <iostream>
#include <vector>
#include <cstdlib> // 对于rand()函数
#include <ctime> // 对于srand()
// 冒泡排序函数
void bubbleSort(std::vector<int>& arr) {
int n = arr.size();
for (size_t i = 0; i < n - 1; ++i) {
for (size_t j = 0; j < n - i - 1; ++j) {
if (arr[j] > arr[j + 1]) {
std::swap(arr[j], arr[j + 1]);
}
}
}
}
int main() {
// 设置随机数种子,确保每次程序运行得到相同的随机数序列
srand(time(0));
// 生成并存储20个正整数
std::vector<int> numbers(20);
for (size_t i = 0; i < numbers.size(); ++i) {
numbers[i] = rand() % 100 + 1; // 生成1到100之间的随机数
}
// 输出原始数组
std::cout << "原始数组:\n";
for (size_t i = 0; i < numbers.size(); i += 10) { // 每打印10个数字换一行
for (size_t j = i; j < i + 10 && j < numbers.size(); ++j) {
std::cout << numbers[j] << " ";
}
std::cout << "\n";
}
// 排序数组
bubbleSort(numbers);
// 输出排序后的数组
std::cout << "排序后的数组:\n";
for (size_t i = 0; i < numbers.size(); i += 10) {
for (size_t j = i; j < i + 10 && j < numbers.size(); ++j) {
std::cout << numbers[j] << " ";
}
std::cout << "\n";
}
return 0;
}
```
阅读全文