排序函数重载
#include <iostream>
#include <algorithm>
// 函数重载,用于对整数数组进行排序并输出
void sortData(int* arr, int n) {
std::sort(arr, arr + n);
for (int i = 0; i < n; ++i) {
std::cout << arr[i] << " ";
}
std::cout << " "<<std::endl;
}
// 函数重载,用于对浮点型数组进行排序并输出
void sortData(double* arr, int n) {
std::sort(arr, arr + n);
for (int i = 0; i < n; ++i) {
std::cout << arr[i] << " ";
}
std::cout <<std::endl;
}
int main() {
int n;
std::cin >> n;
// 处理整数数据
int* intArr = new int[n];
for (int i = 0; i < n; ++i) {
std::cin >> intArr[i];
}
sortData(intArr, n);
// 处理浮点型数据
double* doubleArr = new double[n];
for (int i = 0; i < n; ++i) {
std::cin >> doubleArr[i];
}
sortData(doubleArr, n);
// 释放动态分配的内存
delete[] intArr;
delete[] doubleArr;
return 0;
}
void sortData(int* arr, int n) {
    std::sort(arr, arr + n);
    for (int i = 0; i < n; ++i) {
        std::cout << arr[i] << " ";
    }
    std::cout << " "<<std::endl;
}
- 这是一个名为sortData的函数,它接受一个指向整型的指针arr和一个整数n作为参数。arr指向要进行排序并输出的整型数组的首地址,n表示数组中元素的个数。
- std::sort(arr, arr + n);:调用- std::sort函数对传入的整型数组进行排序,- std::sort的两个参数分别指定了要排序的区间范围,这里是从数组首地址- arr开始,到- arr + n(也就是数组末尾的下一个位置,这是 C++ 中指定区间范围的常见写法)结束的整个数组元素范围。
- 接着通过一个for循环遍历排序后的数组,从索引为 0 的元素开始,到索引为n - 1的元素结束(循环条件i < n),在循环体中使用std::cout << arr[i] << " ";语句将每个元素输出到控制台,并且每个元素后面输出一个空格,使得输出的元素在一行内以空格分隔开。最后通过std::cout << " "<<std::endl;输出一个换行符,确保输出完整个数组后进行换行,使得后续输出内容(如果有的话)能另起一行显示。
 查看6道真题和解析
查看6道真题和解析