回调函数和“qsort“函数

   

    回调函数和qsort函数
                回调函数
                一个通过函数指针调用的函数(就是被调的那个函数)
                最简单的例子就是计算器
                如图


"qsort"
之前的冒泡排序只适应于整型的排序,但还有一种函数可以用来比较各种类型
它就是"qsort"函数,它其实也是一种回调函数
  先来看一下冒泡排序的实现:如图


              接下来看 qsort函数(默认是升序

顾名思义就是 quick sort

"qsort"的功能是:排序(什么类型都能排:char,double,结构体)            
    之前说的比较字符串不能用(>, <,=,<=,>=,!= )来比较
    只有两种方法
     1.strcmp函数
    2.结构体

  现在又多了一种 3.qsort

qsort()内有四个参数
    1.要排序的数组的首元素地址
    2.数组元素的个数 eg:sizeof(arr)/sizeof(arr[0])
    3.元素类型的字节数 eg:sizeof(int)
    4.函数指针(函数的地址/函数名(之前说过&add与add是相同的))
    (这个函数的参数(void*p,void*p))
    (返回类型是"int"这个int类型的数只有三种结果 >0,<0,==0)
        这个函数的作用是比较数组内各元素(p1-p2>0)(p1 - p2 < 0)(p1-p2==0)
    因为 void*p是空指针,所以要强制类型转化变成*(int*)p

如图:这是整型

这是字符型

这是字符串

这是结构体

这里要注意比较字符串的函数strcmp是通过比较字符的ascii值来比较的

大家还可以想想怎么模拟实现“qsort”

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值