C语言利用qsort()函数实现排序

引用#include<stdlib.h>头文件

qsort()括号里面有4个参数
第一个参数是将要排序的数组名array;
第二个参数是将要排序的数量n;
第三个参数是每个要排序的参数的大小xizeof(array[o]);
第四个参数是自己写的一个比较函数comp;

若排序的是int类型的数组

升序:

int comp(const void*a,const void*b)//用来做比较的函数。
{
    return *(int*)a - *(int*)b;
}

降序:

int comp(const void*a,const void*b)//用来做比较的函数。
{
    return *(int*)b - *(int*)a; //降序
}

若排序的是结构体数组,假定结构体node

typedef struct{
    int a;
int b;

}node;

qsort(a,n,sizeof(node),comp)

int comp(const void*x, const void*y)
{
    return ((*(node*)y).a) - ((*(node*))x).a);
}

原文地址:https://www.cnblogs.com/Hqx-curiosity/p/12204085.html