


下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、TSINGHUA UNIVERSITY函数指针的使用设计程序,随机生成 8 个 1099 之间的整数,调用 stdlib 库的 qsort 函数对其进行排序qsort 函数原型void qsort( void * base, unsigned int number_of_elements, unsigned int size_of_elements, int ( * compare )( const void *, const void * ) ); 调用时需按照下述格式实现自己的比较函数 int ( * compare )( const void *, const void * );比较函数
2、示例int MyCompareFunc( const void * e1, const void * e2 );比较函数必须返回正负值(一般为正负 1)或 0 ,规则按照题目要求自定义TSINGHUA UNIVERSITY函数指针的使用:main.cpp#include #include using namespace std;#include arrmanip.h#define NUMBER_OF_ELEMENTS 8int DoCompareObject( const void * e1, const void * e2 );TSINGHUA UNIVERSITY函数指针的使用:main.
3、cppint main() int aNUMBER_OF_ELEMENTS; GenerateIntegers( a, NUMBER_OF_ELEMENTS ); cout Array generated at random as follows: n; PrintIntegers( a, NUMBER_OF_ELEMENTS ); qsort( a, NUMBER_OF_ELEMENTS, sizeof(int), DoCompareObject ); cout After sorted: n; PrintIntegers( a, NUMBER_OF_ELEMENTS ); return 0
4、;int DoCompareObject( const void * e1, const void * e2 ) return CompareInteger( *(const int *)e1, *(const int *)e2 );TSINGHUA UNIVERSITY函数指针的使用:arrmanip.hvoid GenerateIntegers( int a, unsigned int n );int CompareInteger( int x, int y );void PrintIntegers( int a, unsigned int n );TSINGHUA UNIVERSITY函
5、数指针:arrmanip.cpp#include using namespace std;#include random.h#include arrmanip.hstatic const unsigned int lower_bound = 10;static const unsigned int upper_bound = 99;void GenerateIntegers( int a, unsigned int n ) unsigned int i; Randomize(); for( i = 0; i y ) return 1; else if( x = y ) return 0; el
6、se return -1;void PrintIntegers( int a, unsigned int n ) unsigned int i; for( i = 0; i n; i+ ) cout setw(3) ai; cout endl;TSINGHUA UNIVERSITY函数指针的使用函数指针的赋值同类型函数指针可以赋值,不同类型则不能赋值如何确定函数指针类型是否相同:函数参数与返回值不完全相同函数指针类型:用于区分不同类型的函数指针typedef int ( * COMPARE_OBJECT )( const void * e1, const void * e2 );前面添加 typedef 关键字,保证 COMPARE_OBJECT 为函数指针类型,而不是函数指针变量可以像普通类型一样使用函数指针类型定义变量:COMPARE_OBJECT compare = DoCompareObject;qsort 函数的简明书写方法void qsort( v
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025企业单方终止合同补偿
- 2025地质勘察合同范本
- 2025委托开发合同范本协议
- 2025技术合作 科技创新与资本对接项目合同
- 2025家居设计代购简约版合同范本
- 山东省泰安市2025届高三二轮复习检测语文试题及参考答案
- 2025年农村房屋买卖合同范本
- 2025供暖设备供应合同(模板)
- 2025年购买二手别墅合同范本
- 2025版权质押合同深度分析
- 离婚协议书电子版下载
- GB/T 26651-2011耐磨钢铸件
- DB45∕T 396-2022 膨胀土地区建筑技术规程
- 苏教版二年级数学下册《第2单元 练习二》教学课件PPT小学公开课
- 长期购销合作协议书参考
- 入团志愿书(2016版本)(可编辑打印标准A4) (1)
- 警棍盾牌术基本动作
- 撰写课题申请书的五个关键(课堂PPT)
- 英语作业分层设计案例
- sq1魔方还原教程
- 电脑维修 电脑维修实例大全电子书
评论
0/150
提交评论