C语言qsort函数如何使用

来源:互联网 发布:php 打印数组内容 编辑:程序博客网 时间:2024/06/03 16:40

C语言中没有预置的sort函数。如果在C语言中,遇到有调用sort函数,就是自定义的一个函数,功能一般用于排序。

C语言有自有的qsort函数。

功 能: 使用快速排序例程进行排序

头文件:stdlib.h

原型: void qsort(void *base,int nelem,int width,int (*fcmp)(const void *,const void *));

参数:

1 待排序数组首地址

2 数组中待排序元素数量

3 各元素的占用空间大小

4 指向函数的指针,用于确定排序的顺序

这个函数必须要自己写比较函数,即使要排序的元素是int,float一类的C语言基础类型。

以下是qsort的一个例子:

#include<stdio.h>#include<stdlib.h>int comp(const void*a,const void*b)//用来做比较的函数。{    return *(int*)a-*(int*)b;}int main(){    int a[10] = {2,4,1,5,5,3,7,4,1,5};//乱序的数组。    int i;    qsort(a,n,sizeof(int),comp);//调用qsort排序    for(i=0;i<10;i++)//输出排序后的数组    {        printf("%d\t",array[i]);    }    return 0;}