欢迎访问 生活随笔!

生活随笔

当前位置: 首页 >

qsort快速排序

发布时间:2025/6/15 35 豆豆
生活随笔 收集整理的这篇文章主要介绍了 qsort快速排序 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

         qsortC语言自带的快速排序,今天来玩玩,直接看代码。

参数:1.待排序数组首地址

           2.数组中待排序元素数量

           3.各元素的占用空间大小

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

#include <stdio.h> #include<string>//qsort排序结构体 typedef struct node {char name[10];char type[10]; }Node;int compInc1(const void *a, const void *b) {Node *p1=(Node *)a;Node *p2=(Node *)b;return strcmp(p1->type,p2->type); }int compInc2(const void *a, const void *b) {Node *p1=(Node *)a;Node *p2=(Node *)b;return p1->type - p2->type; }int main() { //指向结构体的指针Node nodeTest[4]={{"m","1"}, {"a","3"},{"p","12"},{"n","24"}};int len=4;qsort(nodeTest,len,sizeof(Node),compInc2);int i;for(i = 0; i < 4; i++) { printf("name=%s,type=%s\n", nodeTest[i].name,nodeTest[i].type);} return 0; } compInc1和compInc2确定排序顺序。

compInc1:

name=m,type=1

name=p,type=12

name=n,type=24

name=a,type=3


compInc2:

name=m,type=1

name=a,type=3

name=p,type=12

name=n,type=24

compInc1是通过字符串大小进行排序的,compInc2是通过所指数的大小进行排序的。但是type是字符串,字符串能相减吗?其实这里是指针相减







《新程序员》:云原生和全面数字化实践50位技术专家共同创作,文字、视频、音频交互阅读

总结

以上是生活随笔为你收集整理的qsort快速排序的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。