sort在c++里怎么用
时间: 2023-05-08 12:58:32 浏览: 65
在C语言中,sort函数是一个非常常用的函数。它的原型定义在stdlib.h中,用于对数组进行排序。sort函数的语法格式如下:
void sort(void* base, size_t num, size_t size, int (*compar)(const void*, const void*));
其中,base是要排序的数组的首地址,num是数组中元素的个数,size是每个元素的大小(即占用内存的字节数),compar是一个函数指针,用于指定排序的规则。
排序规则一般是由用户定义的比较函数来实现的,比较函数应该返回一个整数值,用于表示两个元素的大小关系。具体来说,如果返回值小于0,则表示第一个元素应该排在第二个元素的前面;如果返回值等于0,则表示两个元素相等;如果返回值大于0,则表示第二个元素应该排在第一个元素的前面。
例如,下面是一个使用sort函数进行整数数组排序的示例:
#include <stdio.h>
#include <stdlib.h>
int compare(const void* a, const void* b)
{
return (*(int*)a - *(int*)b);
}
int main()
{
int arr[] = {5, 1, 9, 3, 7};
int n = sizeof(arr) / sizeof(arr[0]);
sort(arr, n, sizeof(int), compare);
for (int i = 0; i < n; i++) {
printf("%d ", arr[i]);
}
printf("\n");
return 0;
}
在上面的示例中,首先定义了一个包含5个整数的数组arr,然后使用sort函数对其进行排序。compare函数是定义的比较函数,用于指定排序规则。最后打印出排序后的数组。
相关推荐
![txt](https://img-home.csdnimg.cn/images/20210720083642.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)