C语言qsort函数升序降序
时间: 2024-12-25 11:14:20 浏览: 42
qsort()
是 C 语言标准库中的一个排序函数,它用于对数组元素进行原地、快速的排序。这个函数通常接受四个参数:
void *array
- 待排序的数组的首地址。size_t num_items
- 需要排序的元素个数。size_t size_per_item
- 每个元素的大小(字节)。int compare(const void *, const void *)
- 自定义比较函数,决定元素间的顺序。
如果你想实现升序排列,compare
函数应该返回一个负值、零或正值,分别表示第一个元素小于、等于或大于第二个元素。例如,下面是一个简单的升序排序示例:
int compare_asc(const void *a, const void *b) {
return (*(const int*)a - *(const int*)b);
}
对于降序排列,只需将比较函数稍作修改,让较大的数返回正值,如:
int compare_desc(const void *a, const void *b) {
return (*(const int*)b - *(const int*)a);
}
在实际使用时,你需要先定义好比较函数,然后调用 qsort
,比如:
qsort(array, num_items, sizeof(int), compare_asc); // 升序
qsort(array, num_items, sizeof(int), compare_desc); // 降序
相关推荐


















