你知道的----qsort函数排序
【摘要】 目录: 一、 qsort 函数介绍二、qsort的四个参数解读三、qsort函数具体例子:这篇之前发过了,介于许多小伙伴反馈的排版问题,现已将此排版重发了 一、 qsort 函数介绍 qsort是库函数要引头文件#include<stdlib.h> 参数形式: qsort(arr,sz,sizeof(arr[0]),my_cmp);二、qsort的四个参数解读第一个参数:是起...
目录:
这篇之前发过了,介于许多小伙伴反馈的排版问题,现已将此排版重发了
一、 qsort 函数介绍
qsort是库函数要引头文件#include<stdlib.h>
参数形式: qsort(arr,sz,sizeof(arr[0]),my_cmp);
二、qsort的四个参数解读
第一个参数:是起始位置(一般用数组名)
第二个参数:是数组有多少个元素,一般用int=sz=sizeof(arr)/sizeof(sizeof(arr[0]);sizeof(数组
名)求出数组的大小,单位是字节,sizeof(arr[0])这是求出第一个的大小,事实上求数组中的哪一
个元素都可以,因为数组是一类相同类型的集合。所以他们相除算出的是数组元素个数。
第三个参数:是数组每个元素的大小,也可以用sizeof(数组的类型)来计算。
第四个参数:是函数的排列比较,就是写一个比较函数。这个函数的形式是
int(const void* a,const void* b);
其中void*他是不确定类型的指类型的指针,可以接受任意类型变量的地址,
如int a=10;void* p=&a;char b='w';void* pa=&b;但是对于void类型的指针,因为他不确定类型,所
以对他进行++ --都是错误的操作,比如上述p++、pa++,P--等都是err写法,因为类型不确定导致
程序不知道向前或向后访问几个字节(int向后访问4字节,char向后访问1字节)。
三、qsort函数具体例子:
排浮点数的例子
期待各位大佬批评指正
【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)