qsort函数c语言怎么用
时间: 2025-01-04 13:39:56 浏览: 35
qsort()
是C标准库中的一个函数,用于对数组进行快速排序。它的原型通常如下:
void qsort(void *base, size_t num, size_t size, int (*compar)(const void *, const void *));
base
:指向需要排序数组的第一个元素的指针。num
:待排序元素的数量。size
:每个元素的大小(字节数),用于计算元素间的偏移量。compar
:一个比较函数,它接受两个指向数组元素的指针作为参数,并返回一个整数表示它们的相对顺序。如果第一个小于第二个,则返回一个负数;如果相等则返回0;如果第一个大于第二个,则返回正数。
使用qsort()
的基本步骤包括:
- 定义一个比较函数,通常是一个指向函数指针的变量,该函数根据特定规则(比如数值、字符串长度等)比较数组元素。
- 调用
qsort()
并传入上述四个参数。
例如,如果你想按照整数值从小到大对整型数组进行排序,你可以这样做:
#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;
}
相关推荐


















