0
点赞
收藏
分享

微信扫一扫

【C语言】qsort函数使用(实例分析)

爱我中华8898 2022-04-17 阅读 67
c语言

开门见山的说:

qsort作为一个比较万能的排序函数,排序类型多的一批。

qsort作为一个比较万能的排序函数,使用缺陷就是需要自定义一个比较函数

使用qsort函数需要使用头文件

头文件->

#include<stdlib.h>

int型比较函数

字符比较函数

结构体比较函数

 


实例使用

使用到的头文件

数组比较

int cmop_int (const void* a1,const void* a2)
{
    return (*(int*)a1 - *(int*)a2);
}

int main()
{
    
    //数组
    int arr[] = { 5,48,56,35,12,174,78 };
    
    int sz = sizeof(arr)/ sizeof(arr[0]) ;

    qsort(arr,sz, sizeof(arr[0]) ,cmop_int);
    return 0

}

 

 字符数组比较

int cmop_char(const void* a1, const void* a2)
{
return (*(char*)a1 - *(char*)a2);
}




int main()
{


//字符数组
char drr[] = {'c','e','f','r','h','a' };

int sz = sizeof(drr) / sizeof(drr[0]);

qsort(drr, sz, sizeof(drr[0]), cmop_char);


return 0;
}

结构体数组比较



struct Stu
{
char name[10];
int age;
double gz;
};
int cmop_sut_name(const void* a1, const void* a2)
{
return ((struct Stu*)a1)->age- ((struct Stu*)a2)->age;

}

int cmop_sut_char(const void* a1, const void* a2)
{
return strcmp( ((struct Stu*)a1 )->name,((struct Stu*)a2)->name ) ;

}

int main()
{



//结构体


struct Stu trr[3] = { {"zhangsan", 20, 3000.5},{"lisi", 30, 15000.85},{"wangwu", 10, 36520.58} };
int sz = sizeof(trr) / sizeof(trr[0]);

qsort(trr, sz, sizeof(trr[0]), cmop_sut_name);
return 0;
}


 

哈,谢谢各位同志的阅读,然后呢如果觉得本文对您有所帮助的话,还给个免费的赞吧

    Thanks♪(・ω・)ノ

(期待一下,要是有分享和收藏更好啦)

 

 

举报

相关推荐

C库函数qsort的使用

0 条评论