qosrt排序函数C语言使用方法
时间: 2023-12-02 22:05:44 浏览: 81
C语言快速排序函数用法(qsort)
5星 · 资源好评率100%
qsort是C语言标准库中的一个快速排序函数,其函数原型如下:
```
void qsort(void *base, size_t nmemb, size_t size, int (*compar)(const void *, const void *));
```
其中,base是待排序数组的首元素指针,nmemb是数组元素个数,size是每个元素大小,compar是比较函数指针。
比较函数需要返回一个整数值,表示两个元素的大小关系。如果返回值为负数,表示第一个元素小于第二个元素;如果返回值为0,表示两个元素相等;如果返回值为正数,表示第一个元素大于第二个元素。
下面是一个示例代码,演示如何使用qsort函数进行快速排序:
```
#include <stdio.h>
#include <stdlib.h>
int cmpfunc (const void * a, const void * b) {
return ( *(int*)a - *(int*)b );
}
int main () {
int values[] = { 88, 56, 100, 2, 25 };
int n;
printf("Before sorting the list is: \n");
for( n = 0 ; n < 5; n++ ) {
printf("%d ", values[n]);
}
qsort(values, 5, sizeof(int), cmpfunc);
printf("\nAfter sorting the list is: \n");
for( n = 0 ; n < 5; n++ ) {
printf("%d ", values[n]);
}
return(0);
}
```
输出结果如下:
```
Before sorting the list is:
88 56 100 2 25
After sorting the list is:
2 25 56 88 100
```
这段代码中,cmpfunc是比较函数,用于比较两个整数的大小关系。在主函数中,我们定义了一个int类型的数组values,其中包含5个元素。首先输出了未排序的数组,然后使用qsort函数对数组进行排序,最后输出排序后的数组。
阅读全文