c++sort函数降序
时间: 2023-09-20 11:02:08 浏览: 128
通过c++的sort函数实现成绩排序功能
c sort函数可以通过使用降序排序功能将数组或字符串按降序排列。c语言中的qsort函数可以实现排序功能。
qsort函数的语法如下:
void qsort(void *base, size_t nmemb, size_t size, int (*compar)(const void *, const void *))
其中,base是待排序的数组或字符串的首地址,nmemb是数组或字符串中元素的个数,size是每个元素的大小(以字节为单位),compar是指向相应比较函数的指针。
为了实现降序排序,需要自定义一个比较函数,用于比较两个元素的大小。比较函数返回一个整数值,表示两个元素的大小关系。如果返回值为正数,表示第一个元素大于第二个元素;如果返回值为负数,表示第一个元素小于第二个元素;如果返回值为零,表示两个元素相等。
下面是一个示例的比较函数,用于实现降序排序:
int compare(const void *a, const void *b){
int num1 = *(int*)a;
int num2 = *(int*)b;
return num2 - num1;
}
然后,可以在主函数中调用qsort函数进行排序:
int main(){
int arr[] = {4, 7, 2, 9, 1};
int len = sizeof(arr) / sizeof(arr[0]);
qsort(arr, len, sizeof(int), compare);
for(int i=0; i<len; i++){
printf("%d ", arr[i]);
}
return 0;
}
输出结果为:9 7 4 2 1,即数组按降序排序。
通过自定义比较函数,我们可以使用c语言的sort函数实现降序排序。
阅读全文