回调函数的应用
来源:互联网 发布:淘宝代发论文靠谱吗 编辑:程序博客网 时间:2024/05/16 23:56
1回调函数
1.1问题引出
当我们要实现排序的时候,升序和降序,都是写死在程序中的,如果要改只能改动
原代码,那么如果程序是以库的形式给出的呢?那又如何呢?
#include <stdio.h>void selectSort(int *p, int n){ for(int i=0; i<n-1 ;i ++) { for(int j=i+1; j<n; j++) { if(p[i] < p[j]) { p[i] = p[i]^p[j]; p[j] = p[i]^p[j]; p[i] = p[i]^p[j]; } } }} int main(void){ int arr[10] = {6,5,4,3,2,1,7,8,9,0}; selectSort(arr,10); for(int i=0; i<10; i++) { printf("%d\n",arr[i]); } return 0;}
1.2回调(函数作参数)
为了解决不修改原代码或是库文件,我们为排序函数提供了回调函数。·
#include <stdio.h>int callBackCompare(int a,int b){ return a<b?1:0;}void selectSort(int *p, int n,int(*pf)(int,int)){ for(int i=0; i<n-1 ;i ++) { for(int j=i+1; j<n; j++) { if(pf(p[i],p[j])) { p[i] = p[i]^p[j]; p[j] = p[i]^p[j]; p[i] = p[i]^p[j]; } } }}int main(void){ int arr[10] = {6,5,4,3,2,1,7,8,9,0}; selectSort(arr,10,callBackCompare); for(int i=0; i<10; i++) { printf("%d\n",arr[i]); } return 0;}
1 0
- 回调函数的应用
- 回调函数的应用
- 回调函数的应用
- 回调函数的应用
- 回调函数应用
- 回调函数的简单应用
- Flex 回调函数的应用
- JS回调函数的应用
- 回调函数的分析及应用
- 回调函数的分析及应用
- TLS回调函数的应用
- WorkDay 30 :回调函数的应用
- 回调函数的简单应用
- 回调函数简单应用
- C++回调函数应用
- 回调函数应用1
- 回调函数及其应用
- php中应用回调函数的实际例子说明回调函数的用法
- HDU 3663 舞蹈链之不可重复覆盖
- kafka Confluent数据写入BUG
- List集合与Array数组之间的互相转换
- Android Fragment传递参数_Fragment之间传值的两种方法
- refind 0.10.3 配置文件refind.conf简单分析
- 回调函数的应用
- [Google电面] String decompression
- Oracle起步---创建临时表空间/表空间/创建用户/授权
- STM32推挽输出和开漏输出的区别
- 软件行业面试题总结网站
- XHTML DTD
- MERGE INTO 的使用方法
- hdu3516(dp四边形优化)
- MyEclipse配置SVN,从SVN中导出项目