c++sort函数对数组排序
时间: 2024-11-02 19:08:09 浏览: 28
`std::sort`是C++标准库中的一个函数,它属于<algorithm>头文件的一部分,用于对容器中的元素进行排序。这个函数主要用于对已知随机访问范围(如数组、向量等)内的数据进行升序或降序排列。`sort`函数的基本语法如下:
```cpp
template <class RandomIt>
void sort(RandomIt first, RandomIt last);
```
其中,`first`是一个指向容器或数组起始位置的迭代器,`last`则是一个指向结束位置的迭代器,表示排序范围的终点不包括。
如果你想对整型数组进行排序,例如`int arr[]`,你可以这样做:
```cpp
#include <algorithm>
#include <iostream>
int main() {
int arr[] = {4, 2, 7, 1, 9, 3};
int n = sizeof(arr) / sizeof(arr[0]);
std::sort(arr, arr + n); // 排序整个数组
for (int i = 0; i < n; ++i)
std::cout << arr[i] << " ";
return 0;
}
```
这将按照升序对数组进行排序,并打印出结果。如果你需要自定义排序规则,可以提供一个比较函数作为`sort`的第三个模板参数,例如`std::greater<int>`来进行降序排列。
相关问题
C++调用函数对数组排序
好的,可以使用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函数对数组进行排序,最后遍历数组输出排序后的结果。
阅读全文