定义一个整型数组,长度为5,数据自定义,把数据从小到大排序并输出,数组数据由随机函数生成,把排序的操作写成函数,使用类来定义函数
时间: 2024-10-09 18:10:57 浏览: 40
利用数组访问二维数组定义一个5×5二维数组,用来存放整型数据
首先,我们可以创建一个包含5个元素的整数数组,并使用`std::random_device`和`std::mt19937`生成器来生成随机整数。然后,我们将创建一个类,其中包含一个成员函数用于排序这个数组。以下是如何实现的代码:
```cpp
#include <iostream>
#include <vector>
#include <algorithm> // 包含sort函数
#include <random>
class ArraySorter {
public:
// 初始化随机数生成器
ArraySorter() : generator_(std::random_device{}()) {}
// 生成指定范围内的随机整数
int generateRandom(int min, int max) {
std::uniform_int_distribution<int> distribution(min, max);
return distribution(generator_);
}
// 排序函数,接收一个整数向量参数
void sortArray(std::vector<int>& arr) {
std::sort(arr.begin(), arr.end()); // 使用STL中的sort函数
}
private:
std::mt19937 generator_; // Mersenne Twister随机数生成器
};
int main() {
const int size = 5;
std::vector<int> array(size);
// 生成并填充随机数组
for (size_t i = 0; i < size; ++i) {
array[i] = ArraySorter().generateRandom(0, 100); // 0到100之间的随机整数
}
// 调用排序函数
ArraySorter sorter;
sorter.sortArray(array);
// 输出排序后的数组
for (const auto& num : array) {
std::cout << num << " ";
}
std::cout << std::endl;
return 0;
}
```
在这个例子中,`ArraySorter`类有一个私有成员变量`generator_`,用于生成随机数。`generateRandom`函数接受最小值和最大值作为参数,生成一个在这两个值之间的随机整数。
`sortArray`函数接收一个`std::vector<int>`类型的引用,对数组进行排序。`main`函数中创建了一个`ArraySorter`实例,生成并排序了数组,然后输出结果。
阅读全文