c++中的sort函数怎么用
时间: 2023-04-08 20:04:13 浏览: 139
可以使用C语言中的sort函数对数组进行排序。sort函数的原型为:
void sort(void *base, size_t nitems, size_t size, int (*compar)(const void *, const void *))
其中,base是要排序的数组的首地址,nitems是数组中元素的个数,size是每个元素的大小,compar是一个函数指针,用于比较两个元素的大小关系。
例如,对一个整型数组进行升序排序,可以这样调用sort函数:
int arr[] = {3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5};
int n = sizeof(arr) / sizeof(int);
sort(arr, n, sizeof(int), cmp);
其中,cmp是一个比较函数,可以自己定义。例如,可以这样定义一个升序比较函数:
int cmp(const void *a, const void *b)
{
return *(int*)a - *(int*)b;
}
这样,sort函数就会按照升序的方式对数组进行排序。
相关问题
C++的sort函数使用
C++的sort函数是STL中的一个排序函数,可以对数组、向量等容器进行排序。它的使用方法如下:
```c++
#include <algorithm>
using namespace std;
int arr[] = {3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5};
int n = sizeof(arr) / sizeof(int);
sort(arr, arr + n); // 默认升序排序
for (int i = 0; i < n; i++) {
cout << arr[i] << " ";
}
```
输出结果为:1 1 2 3 3 4 5 5 5 6 9
sort函数默认按升序排序,如果要按降序排序,可以使用greater<int>()作为第三个参数,如下所示:
```c++
sort(arr, arr + n, greater<int>()); // 按降序排序
```
输出结果为:9 6 5 5 5 4 3 3 2 1 1
c++中sort函数在那个库
sort函数在C++中位于<algorithm>标准库中。要使用sort函数,您需要包含<algorithm>头文件,并使用std命名空间。下面是一个使用sort函数对一个整数数组进行排序的示例代码:
```cpp
#include <algorithm>
#include <iostream>
#include <vector>
int main() {
std::vector<int> numbers{5, 2, 8, 1, 9};
std::sort(numbers.begin(), numbers.end());
for (const auto& num : numbers) {
std::cout << num << " ";
}
return 0;
}
```
运行此代码将输出已排序的整数数组:1 2 5 8 9。
阅读全文