当前位置: 首页 > news >正文

Qsort函数的应用与讲解

解释:

qsort排序函数,即讲一段数组,字符串等进行有序的排列

 分析:

void qsort (void* base,//要排序的数组的首元素(就是数组名)size_t num, //要排序的数组元素的个数size_t size,//每个元素的字节大小(int为4,char为1)int (*compar)(const void*,const void*));

比较函数的实现:(分析中用的int,我们就按int来写一个)

int compar(const void*e1,const void*e2)

{//第一个*是解引用,后面的(int*)是强制类型转换成int型的指针

return *(int*)e1-*(int*)e2;//因为解释中说如果e1大于e2返回大于0的值

                                       //等于返回0

                                      //小于返回小于0的值

}

实例:

将:WHERETHEREISAWILLTHEREISAWAY排序

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int compar(const void*e1,const void*e2)
{
return *(char*)e1-*(char*e2);//(升序),e2-e1降序
}
int main()
{
char a[] = " WHERETHEREISAWILLTHEREISAWAY";
int len=strlen(a);
qsort(a,len,1,compar);
printf("%s",a);
return 0;
}
答案;AAAEEEEEEHHHIIILLRRRSSTTWWWY

 

http://www.lryc.cn/news/58499.html

相关文章:

  • 蓝桥杯嵌入式第九届客观题解析
  • 多元函数的基本概念——“高等数学”
  • LabVIEW-数值控件和布尔控件
  • R730重组阵列raid5
  • Verilog学习笔记3——数据位宽、阻塞/非阻塞赋值、二进制码、独热码、格雷码比较、编写原则、三态门、
  • C++ Qt智能指针使用教程
  • 【题解】BZOJ4975 区间翻转
  • 火箭参数相关知识
  • 【JavaEE】死锁是什么?如何避免死锁(保姆级讲解)
  • JS 实现占位符截取字符串内容
  • Prophet学习(四)趋势Changepoints
  • 超表面学习 初步印象
  • 脂肪肝 肾结石 怎么得来的
  • Python 进阶指南(编程轻松进阶):一、处理错误和寻求帮助
  • windows服务器自带IIS搭建网站并发布公网访问【内网穿透】
  • IFPUG功能点度量4:度量事务功能
  • 未来公寓智能化设计平台项目(上)
  • Java8新特性 Steam流
  • Unity 实现大世界地图的技术原理
  • jQuery制作一个简单的打地鼠游戏(超详细讲解)
  • typora和C51开发环境
  • linux echo彩色打印
  • 2023年4月PMP®项目管理专业人士认证招生简章
  • Java每日一练(20230410)
  • 主动配电网故障恢复的重构与孤岛划分统一模型研究【升级版本】(Matlab代码实现)
  • TS2023年面试题汇总~~~~持续更新中!!!!
  • CSS模块的书写以及删除线的作用和来历什么是删除线
  • Libhevc介绍
  • 基于Tensorflow的最基本GAN网络模型
  • 数据质量管理概述