




全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1 / 5 堆排序实验报告 堆排序实验 一需求和规格 Eg: 将用户输入的一组整型数据进行排序,构造成大顶堆;将已建立的大顶堆进行堆排序;在对话框中显示出已建成堆的具体结构;若操作错误能够给出用户相应的提示;通过 MFC实现可视化界面的操作; 二设计思想 1.将一组无序序列构造成一个堆: 假设序列长度为 n,以线性数组作为存储,那么从第i = n/2 个元素开始调整,分别和他的左右子树结点比较大小,和较大的那个交换;然后 i 自减,对这个新的 i 元素 进行调整,同样和他的左右子树根结点比较后进行调整,如果破坏了其中一个子树的堆平衡,那么需要继续对这个子树进行堆调整;这样调整到序列第一个元素后,这个序列就已经是大根堆 2.对堆进行堆排序 构造了堆之后,就可以对其进行堆排序 堆的最大元素已经在堆顶,将其和序列最后一个元素交换 这样得到两个序列, A=1 . n-1 B= n ,其中 B 是有序的, A 失去了大顶堆的平衡,这时候继续对 A2 / 5 进行调整,将其调整为大顶堆 调整为大顶堆后,和上面过程类似,一直到 A 中只余下一个元素为止 设计表示 给出具体存储结构,和关键函数操作功能说明,若没有存储结构,可以写宏定义等作为补充; 实现注释 能描述出涉及操作的参数含义,及操作实现的具体方案 设计表示 画出整体流程,及核心算法流程 用户手册 描述具体,能够根据该手册进行程序的使用,并给出操作注意事项; 调试报告 表达具体,能诊断出给定输入得不到正确输出的原因和解决方案 *大家别忘了写总结 , 10分呢 6源程序关键代码和结果 源程序关键代码 / #include Status JudgeInput/编辑框一的判断 3 / 5 char JudgeNumberBuffer11=0,1,2,3,4,5,6,7,8,9, ; /判断第一个编辑框是否为空 if return ERROR;/输入为空 /判断第一个编辑框是否输入都是数字和空格 for /判断第一个编辑框的开头和结尾必须不是空格 if|= ) return ERROR; int Count=1; /将字符转化为数字 for char *p;/临时指针 int *HeapSortpoint;/用于存放数据的指针 p=buffer; if= ) *=0; Count+; if= ) return ERROR; for if=JudgeNumberBufferj)break; return ERROR; if HeapSortpoint=malloc*sizeof); IntTable=HeapSortpoint; int Ikey=1; while num=Count;/ 将 数 组 数 目 传 给 num *IntTable=num;/将个数放入里面 return OK; Ikey+; p=p+strlen+1;HeapSortpointIkey=atoi;/将数据存入数组中 void HeapAdjust/用于堆调整 void YZHeapSort for HeapAdjust; for int buffer; 4 / 5 buffer=Buffer1; Buffer1=Bufferj; Bufferj=buffer; HeapAdjust; int rs=Buffers;/用于存放临时存放数字 for j+;break; ifif)Buffers=Bufferj;s=j;Buffers=rs; / void CHeapSortDlg:OnBuildButton void CHeapSortDlg:OnPaixunButton / TODO: Add your control notification handler code here m_; free; / TODO: Add your contro l notification handler code here UpdateData;/更新编辑框里面的数据 char *Buffer;/用于指向编辑框字符串的指针 int num;/用于存放字符的个数 num=m_;/字符个数 Buffer=m_;/用于存放其指针 if) for HeapAdjust; ShowTheTree; MessageBox; Message
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 游戏服务器监控软件创新创业项目商业计划书
- 野生动物友好型城市发展创新创业项目商业计划书
- 网红学生兴趣培养创新创业项目商业计划书
- 自动驾驶车辆仿真测试平台创新创业项目商业计划书
- 2025年新能源汽车充电设施布局与能源互联网融合研究报告
- 2025年工业互联网平台同态加密技术在工业大数据分析中的应用报告
- 2025年生态循环农业技术模式探索:经济效益评估与路径选择
- 2025年度城市燃气管道改造工程社会影响评估分析报告
- 民法典的课件模板
- 河南省巩义市市直高中2026届化学高一上期末综合测试试题含解析
- 《高值医用耗材临床应用点评制度》
- 新生儿呼吸暂停及处理
- 党校中青班入学考试试题及答案
- 电气工程师考试题及答案2025年
- 失眠的中医课件
- 皮肤病的中西医结合治疗策略
- 呼吸肌功能解析与临床应用
- 中华传统礼仪的基础试题及答案
- 2025年人教版小学数学小升初测试卷(含答案解析)
- 2025中国临床肿瘤学会CSCO非小细胞肺癌诊疗指南要点解读课件
- 2025-2030中国卫星通信行业发展分析及投资价值预测研究报告
评论
0/150
提交评论