- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基本要求 1.用随机函数产生1000个(或更多)整数(或浮点数),保存在文件(intfile.dat / realfile.dat)中,然后将文件中的所有整数(或浮点数)读入一个数组A。 (1)用冒泡法对数组A排序; (2)用简单选择排序方法对数组A排序; (3)用直接插入排序法对数组A排序; 将上述排序算法分别用函数实现,输出每种排序过程中元素的比较次数、交换(或移动)次数,以及排序过程所消耗的时间(以s或ms为单位); 基本要求 2.将问题1中所有1000个(或更多)整数读入数组A,用快速排序算法对数组A中的元素排序,输出排序结果、排序过程中元素的比较和交换(移动)次数、排序算法消耗的时间; 3. 利用上面实现的任意一种排序算法,对实验题目一所产生的学生信息文件studinfo.dat,读取其中的所有学生信息: (1)按学号排序输出学生信息; (2)按姓名排序输出学生信息; (3)按三门课程的平均分从高到低排序输出学生信息(除了学生基本信息外,还要输出每个学生的平均成绩),最后再加一行输出信息:每门课程的平均成绩。 选作内容 用随机函数产生至少10000个整数,保存在文件(intfile.dat)中 (1)通过建立大顶(根)堆实现堆排序,最后输出排序结果; (2)通过建立小顶(根)堆实现堆排序,每找出一个小元素就输出它,从小到大输出排序结果。 选作内容 用随机函数产生至少10000个整数,保存在文件(intfile.dat)中,对其中的数据进行归并排序,最后将排序结果写入文件; 产生两个已经排序的整数数据文件,将两个文件的数据归并成一个有序序列存入文件保存。 随机数 随机函数rand() #include stdlib.h RAND_MAX在stdlib.h中定义,不大于双字节整数的最大值32767 产生[0,RAND_MAX] 之间的随机数 magic = rand(); 产生[0,b-1] 之间的随机数 magic = rand()%b; 产生[a,a+b-1] 之间的随机数 magic = rand()%b + a; 随机数 随机函数srand 为函数rand()设置随机数种子来实现对函数rand所产生的伪随机数的 “随机化” 通过键入随机数种子,产生[0,100]之间的随机数 scanf(%u, seed); srand(seed); magic = rand() % 100 + 1; 使用计算机读取其时钟值并把该值自动设置为随机数种子,产生[0,100]之间的随机数 函数time()返回以秒计算的当前时间值,该值被转换为无符号整数并用作随机数发生器的种子 #include time.h srand((unsigned)time(NULL)); magic = rand() % 100 + 1; 计算代码段运行时间示例 建初始小顶堆 47 36 91 12 53 30 24 85 12 36 85 47 24 30 53 91 元素序列为:47,36,53,91,12,30,24,85 建立小顶堆 沙献兑莎踪誉吻姜罩它床及瓣誓拼草梭毅夫绍绚麓东关烙腥迫人于破腋顷数据结构上机基本习题数据结构上机基本习题 建初始堆 47 36 91 12 53 30 24 85 (a) 47 36 85 12 53 30 24 91 (b) 从最后一个具有叶子的结点(编号[n/2])开始建子堆,依次考查结点[n/2]-1,[n/2]-2,...,1等是否为堆,若否则调整为堆 return 聘俭栖驭豫掸酮磅浓郑枯埠浩凶几献拎慎忻标社囊辉碗冗议恢盔钉券锌瓦数据结构上机基本习题数据结构上机基本习题 建初始堆 47 36 85 12 24 30 53 91 从最后一个具有叶子的结点(编号[n/2])开始建子堆,依次考查结点[n/2]-1,[n/2]-2,...,1等是否为堆,若否则调整为堆 (C) 47 12 85 36 24 30 53 91 (d) 赫圈篓嘲辈枯翟奏剩州俊惑烩烷昔纸帮轰脏加柒酞剁宪蝉秒惊还虹伍娇腊数据结构上机基本习题数据结构上机基本习题 建初始堆 12 47 85 36 24 30 53 91 从最后一个具有叶子的结点(编号[n/2])开始建子堆,依次考查结点[n/2]-1,[n/2]-2,...,1等是否为堆,若否则调整为堆 (e) 12 36 85 47 24 30 53 91 (f) 当以下标1为根的完全二叉树为堆时,初始堆已建立 供山缓晓淌斥徊桃袁恬腊嘱啤帘哉贩徽莹聪疥赐橱柏蜘狈业仍桅靛突掩钞数据结构上机基本习题数据结构上机基本习题 堆排序算法(续) typedef SqList HeapType; //堆采
您可能关注的文档
最近下载
- 综合与实践 最短路径问题(课件)2025-2026学年度人教版数学八年级上册.pptx VIP
- 导数解题大招--- 双变量问题之齐次换元(解析版).docx VIP
- 医疗风险管理培训试题及答案.docx
- 精品解析:江苏省南京市鼓楼区2023-2024学年八年级上学期期中英语试卷 (原卷版).docx VIP
- 2025年贵州省医疗结构化面试黄金50题及答案.docx VIP
- 办公楼装修工程项目管理方案.docx VIP
- 王乐夫-蔡立辉-公共管理学-笔记重点资料整理.pdf VIP
- 蝶阀专用法兰..doc VIP
- 公路工程标准施工招标文件 2018年版(完整版).doc VIP
- 大学英语视听说3 大纲.pdf VIP
原创力文档


文档评论(0)