下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026贵州峰鑫建设投资(集团)有限公司招聘14人考试备考题库及答案解析
- 2026江苏南京大学招聘XZ2026-005商学院保洁员考试参考题库及答案解析
- 2026中国农业科学院农产品加工研究所食物营养与功能性食品创新团队招聘合同制科研助理考试参考试题及答案解析
- 2026江苏南京大学SZYJ20260004能源与资源学院博士后招聘1人考试参考题库及答案解析
- 2026江苏南京市东南大学网络空间安全学院劳务派遣岗位招聘1人考试参考试题及答案解析
- 2026河北衡水桃城区公开招聘医疗卫生岗位劳务派遣制工作人员5名考试备考试题及答案解析
- 2026湖北省面向西北农林科技大学普通选调生招录考试备考题库及答案解析
- 2026辽宁科技学院面向部分高校招聘5人考试参考试题及答案解析
- 2026福建福州工业园区开发集团有限公司设计勘察分公司招聘1人考试参考题库及答案解析
- 2026广东中山市公安局黄圃分局招聘警务辅助人员8人考试参考题库及答案解析
- 2025-2026学年四年级英语上册期末试题卷(含听力音频)
- 2026届川庆钻探工程限公司高校毕业生春季招聘10人易考易错模拟试题(共500题)试卷后附参考答案
- 医疗器械法规考试题及答案解析
- 2025年河南体育学院马克思主义基本原理概论期末考试笔试题库
- 2026年广西出版传媒集团有限公司招聘(98人)考试参考题库及答案解析
- 2026年中国铁路上海局集团有限公司招聘普通高校毕业生1236人备考题库及答案详解1套
- 2026年上海市普陀区社区工作者公开招聘备考题库附答案
- 医源性早发性卵巢功能不全临床治疗与管理指南(2025版)
- 甘肃省平凉市(2025年)辅警协警笔试笔试真题(附答案)
- 中国双相障碍防治指南(2025版)
- 移动式工程机械监理实施细则
评论
0/150
提交评论