排序函数重载

#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;输出一个换行符,确保输出完整个数组后进行换行,使得后续输出内容(如果有的话)能另起一行显示。
全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务