qsort函数如何使用
时间: 2024-05-07 16:17:52 浏览: 165
qsort函数是一个标准库函数,用于对数组进行排序。其函数原型如下:
```c
void qsort(void* base, size_t num, size_t size, int (*compar)(const void*, const void*));
```
其中:
- base:待排序数组的首地址。
- num:待排序元素的个数。
- size:每个元素的字节数。
- compar:比较函数,用于比较两个元素的大小。
比较函数必须返回一个整数值,该值表示两个元素的大小关系。如果元素a比元素b小,则函数返回负数;如果元素a比元素b大,则函数返回正数;如果元素a等于元素b,则函数返回0。
例如,以下代码演示了如何使用qsort函数对整型数组进行排序:
```c
#include <stdio.h>
#include <stdlib.h>
int cmp(const void* a, const void* b)
{
return (*(int*)a - *(int*)b);
}
int main()
{
int arr[] = {10, 2, 5, 8, 6};
int n = sizeof(arr) / sizeof(arr[0]);
qsort(arr, n, sizeof(int), cmp);
for (int i = 0; i < n; i++) {
printf("%d ", arr[i]);
}
return 0;
}
```
输出结果为:2 5 6 8 10
注意:使用qsort函数时,必须保证待排序元素能够正确比较大小,否则可能导致意想不到的结果。
阅读全文