C++调用函数对数组排序
时间: 2024-01-25 12:09:26 浏览: 94
好的,可以使用C++标准库中的sort函数来对数组进行排序。sort函数需要传入数组的起始地址和结束地址,以及一个比较函数。比较函数用于指定排序的方式,可以使用默认的小于号运算符,也可以自定义比较函数。
下面是一个示例代码:
```cpp
#include <iostream>
#include <algorithm>
using namespace std;
bool cmp(int a, int b) {
return a > b; // 降序排列
}
int main() {
int arr[] = {3, 1, 4, 1, 5, 9, 2, 6, 5, 3};
int n = sizeof(arr) / sizeof(int);
sort(arr, arr + n, cmp);
for (int i = 0; i < n; i++) {
cout << arr[i] << " "; }
cout << endl;
return 0;
}
```
输出结果为:
```
9 6 5 5 4 3 3 2 1 1
```
相关问题
c++中sort对数组排序
C++中的sort函数可以用于对数组进行排序。sort函数是一个标准库函数,其定义在<algorithm>头文件中。sort函数有多个版本,其中最常用的版本接受两个迭代器参数,分别指向要排序的数组的首元素和尾元素的下一个位置。
以下是使用sort函数对数组进行排序的示例代码:
```c++
#include <algorithm>
#include <iostream>
using namespace std;
int main() {
int arr[] = {3, 5, 2, 8, 1};
int n = sizeof(arr) / sizeof(arr);
sort(arr, arr + n);
for (int i = 0; i < n; i++) {
cout << arr[i] << " ";
}
return 0;
}
```
在上述代码中,我们先定义了一个整型数组arr,并计算出数组元素个数n。然后调用sort函数对数组进行排序,最后遍历数组输出排序后的结果。
c++ sort对数组排序
### 如何使用 `std::sort` 对数组进行排序
在 C++ 中,标准库提供了预定义且可以直接使用的 `sort()` 函数来执行排序操作[^1]。此函数位于 `<algorithm>` 头文件中,并接受三个参数:指向要排序范围起始位置的迭代器、指向结束位置之后一个元素的迭代器以及可选的比较函数。
对于简单的整数数组排序,可以按照如下方式实现:
```cpp
#include <iostream>
#include <algorithm> // 导入 std::sort 所需头文件
int main() {
int arr[] = {5, 2, 9, 1, 5, 6};
size_t n = sizeof(arr)/sizeof(arr[0]);
// 使用默认升序排列
std::sort(std::begin(arr), std::end(arr));
// 输出排序后的数组
for(int i : arr){
std::cout << i << " ";
}
}
```
如果希望自定义排序顺序,则可以通过传递第三个参数作为比较谓词来进行定制化处理。例如降序排列:
```cpp
// 定义降序比较函数
bool desc_compare(const int& lhs, const int& rhs) {
return lhs > rhs;
}
...
// 调用带自定义比较器版本的 sort 方法
std::sort(std::begin(arr), std::end(arr), desc_compare);
```
需要注意的是,在实际应用时应确保待排序序列已经过适当初始化并且处于有效状态;另外当涉及到复杂数据结构(如含有指针成员变量的对象集合)时可能还需要考虑深拷贝等问题以避免潜在的风险。
阅读全文
相关推荐












