c语言

c语言怎么调用sort函数排序

小亿
130
2023-10-08 01:39:59
栏目: 编程语言

在C语言中,可以使用stdlib.h头文件中的qsort函数来进行排序操作。

qsort函数的原型如下:

void qsort(void *base, size_t nmemb, size_t size, int (*compar)(const void *, const void *));

比较函数的原型如下:

int compar(const void *a, const void *b);

例如,对一个整型数组进行升序排序的示例代码如下:

#include <stdio.h>
#include <stdlib.h>
int cmp(const void *a, const void *b) {
return (*(int*)a - *(int*)b);
}
int main() {
int arr[] = {5, 2, 8, 1, 9};
int n = sizeof(arr) / sizeof(arr[0]);
qsort(arr, n, sizeof(int), cmp);
printf("排序后的数组:");
for (int i = 0; i < n; i++) {
printf("%d ", arr[i]);
}
return 0;
}

运行结果:

排序后的数组:1 2 5 8 9

以上代码示例中,使用了一个自定义的比较函数cmp来指定元素之间的比较规则,该函数通过将两个指针转换为对应的整型指针,并通过解引用操作来获取元素的值进行比较。

0
看了该问题的人还看了