C++sort函数怎么用
时间: 2023-09-20 17:07:31 浏览: 45
可以使用C标准库中的sort函数对数组进行排序,其函数原型为:
```
void sort(void* base, size_t num, size_t size, int (*cmp)(const void*,const void*));
```
其中,base参数为要排序的数组的指针,num参数为数组中元素的个数,size参数为单个元素的大小(以字节为单位),cmp参数为比较函数的指针,用于指定排序规则。
例如,可以定义如下的比较函数对整型数组进行升序排序:
```
int cmp(const void* a, const void* b) {
return (*(int*)a - *(int*)b);
}
```
然后使用sort函数进行排序:
```
int arr[] = {3, 1, 4, 1, 5, 9, 2, 6};
int len = sizeof(arr) / sizeof(int);
sort(arr, len, sizeof(int), cmp);
```
排序后,数组arr中的元素为:1 1 2 3 4 5 6 9。
相关问题
如何使用C++sort函数
要使用C++中的`sort`函数,您需要包含头文件`<algorithm>`。`sort`函数可以对数组、向量和其他容器进行排序。
下面是一个简单的示例,演示如何使用`sort`函数对整数数组进行升序排序:
```cpp
#include <iostream>
#include <algorithm> // 包含sort函数的头文件
using namespace std;
int main() {
int arr[] = {5, 2, 9, 1, 3};
int size = sizeof(arr) / sizeof(arr[0]);
sort(arr, arr + size); // 使用sort函数对数组进行排序
cout << "排序后的数组:";
for (int i = 0; i < size; i++) {
cout << arr[i] << " ";
}
return 0;
}
```
运行上述代码,输出结果为:`排序后的数组:1 2 3 5 9`。
`sort`函数默认按升序对元素进行排序。如果要按降序排序,可以使用`greater`函数对象作为第三个参数传递给`sort`函数:
```cpp
sort(arr, arr + size, greater<int>());
```
希望这可以帮助到您!如果您有任何其他问题,请随时问我。
C++ sort函数怎么用
sort函数是C语言中的一个标准库函数,用于对数组或容器中的元素进行排序。它的使用方法如下:
1. 引入头文件:`#include <stdlib.h>`
2. 定义比较函数(可选):sort函数需要一个比较函数来确定元素之间的相对顺序。如果元素是基本数据类型(如整数、浮点数),可以使用默认的比较函数。如果元素是自定义类型或需要特殊的排序规则,你需要自己定义一个比较函数。比较函数的原型为`int cmp(const void *a, const void *b)`,返回负数表示a在b之前,返回正数表示a在b之后,返回0表示a和b相等。
3. 调用sort函数:`void qsort(void *base, size_t num, size_t size, int (*cmp)(const void *, const void *))`。其中,base是待排序数组或容器的首元素地址,num是数组或容器中元素的个数,size是每个元素的大小(以字节为单位),cmp是指向比较函数的指针。
下面是一个示例代码:
```c
#include <stdio.h>
#include <stdlib.h>
// 比较函数,按照从小到大的顺序排序
int cmp(const void *a, const void *b) {
return *(int*)a - *(int*)b;
}
int main() {
int arr[] = {4, 2, 7, 5, 1};
size_t len = sizeof(arr) / sizeof(arr