你知道的----qsort函数排序

**第三个参数:**是数组每个元素的大小,也可以用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函数具体例子:

=================

#include<stdlib.h>

#include<stdio.h>

int int_cmp(const void* a,const void* b) //函数实现*

{

return *(int )a-(int)b;

}//升序

//其中(int),为将void强制转化(int)

//return (int*)b-(int)a;//降序

int main( ) //整形排序

{

int arr[]={1,3,4,5,6,9,7,8,0,2};

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

qsort(arr,sz,sizeof(int),int_cmp);

int i=0;

for(i=0;i<sz;i++)

{

printf("%d ",(arr+i));//打印每一个元素(arr+i)等价于arr[i]

}

return 0;

}

排浮点数的例子

#include<stdlib.h>

#include<stdio.h>

int float_cmp(const void* a, const void* b) //函数实现*

{

return(int)((float*)a -(float*)b);

}//升序

//其中(int),为将void强制转化(int)

//return(int) ((float*)b-(float*)a);//降序

int main() //float排序

{

float arr[] = { 1.0, 3.0, 4.0, 5.0, 6.0, 9.0, 7.0, 8.0, 0.0, 2.0 };

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

qsort(arr, sz, sizeof(float), float_cmp);

int i = 0;

for (i = 0; i<sz; i++)

{

printf("%f ", (arr + i));//打印每一个元素(arr+i)等价于arr[i]
}
return 0;
}
期待各位大佬批评指正

最后

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数初中级Android工程师,想要提升技能,往往是自己摸索成长,自己不成体系的自学效果低效漫长且无助。

因此收集整理了一份《2024年Web前端开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Android开发知识点!不论你是刚入门Android开发的新手,还是希望在技术上不断提升的资深开发者,这些资料都将为你打开新的学习之门!

如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!**](https://bbs.csdn.net/topics/618191877)

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!

  • 4
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值