c++随机生成一个含多个整数元素的数组,元素的取值小于100。自定义排序函数,主函数中调用自定义的排序函数。 (1)输出这个数组元素排序前的值 (2)输出对这个数组元素由大到小的排序结果。 注意:排序函数要能接收不同长度的数组实参,不能只处理单一长度的数组
时间: 2024-12-24 21:34:48 浏览: 0
绘制正弦函数曲线.7z
在C++中,你可以首先定义一个`generateArray`函数用于生成包含多个整数元素、每个元素小于100的数组,然后创建一个自定义的`customSort`函数来实现自定义排序。这里我会展示如何实现这一过程,并提供两个示例:一个是原始数组的输出,另一个是对数组进行降序排列后的输出。
```cpp
#include <iostream>
#include <cstdlib> // 包含rand() 和 srand()
#include <ctime> // 包含time()
// 自定义排序函数,接受任意大小的整数数组作为参数
template<typename T, size_t N>
void customSort(T(&array)[N]) {
for (size_t i = 0; i < N - 1; ++i) {
for (size_t j = 0; j < N - 1 - i; ++j) {
if (array[j] > array[j + 1]) { // 从大到小排序
std::swap(array[j], array[j + 1]);
}
}
}
}
int main() {
// 设置随机数种子,保证每次程序运行生成相同的随机数组
std::srand(std::time(nullptr));
// 生成一个随机数组,元素范围在0~99之间
int randomArray[10]; // 可以根据需要调整数组长度
for (size_t i = 0; i < sizeof(randomArray) / sizeof(randomArray[0]); ++i) {
randomArray[i] = rand() % 100;
std::cout << "Before sorting: " << randomArray[i] << " ";
}
std::cout << "\n";
// 输出排序前的数组
std::cout << "Original Array (unsorted): ";
for (const auto& num : randomArray) {
std::cout << num << " ";
}
std::cout << "\n";
// 调用自定义排序函数进行降序排列
customSort(randomArray, sizeof(randomArray) / sizeof(randomArray[0]));
// 输出降序排列后的数组
std::cout << "Array sorted in descending order: ";
for (const auto& num : randomArray) {
std::cout << num << " ";
}
std::cout << "\n";
return 0;
}
```
阅读全文