qsort函数c语言怎么用
时间: 2025-01-04 08:39:56 浏览: 59
`qsort()`是C标准库中的一个函数,用于对数组进行快速排序。它的原型通常如下:
```c
void qsort(void *base, size_t num, size_t size, int (*compar)(const void *, const void *));
```
- `base`:指向需要排序数组的第一个元素的指针。
- `num`:待排序元素的数量。
- `size`:每个元素的大小(字节数),用于计算元素间的偏移量。
- `compar`:一个比较函数,它接受两个指向数组元素的指针作为参数,并返回一个整数表示它们的相对顺序。如果第一个小于第二个,则返回一个负数;如果相等则返回0;如果第一个大于第二个,则返回正数。
使用`qsort()`的基本步骤包括:
1. 定义一个比较函数,通常是一个指向函数指针的变量,该函数根据特定规则(比如数值、字符串长度等)比较数组元素。
2. 调用`qsort()`并传入上述四个参数。
例如,如果你想按照整数值从小到大对整型数组进行排序,你可以这样做:
```c
#include <stdio.h>
#include <stdlib.h>
// 比较函数,a 和 b 相比返回 a - b
int compare(const void *a, const void *b) {
return (*(int*)a) - (*(int*)b);
}
int main() {
int arr[] = {5, 2, 9, 1, 5, 6};
int n = sizeof(arr) / sizeof(arr[0]);
// 对arr进行排序
qsort(arr, n, sizeof(int), compare);
printf("Sorted array: ");
for (int i = 0; i < n; i++) {
printf("%d ", arr[i]);
}
return 0;
}
```
阅读全文
相关推荐


















