资源描述:
《堆排序实验报告(共10篇)》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、为了适应公司新战略的发展,保障停车场安保新项目的正常、顺利开展,特制定安保从业人员的业务技能及个人素质的培训计划堆排序实验报告(共10篇) 堆排序实验 一.需求和规格 Eg: 将用户输入的一组整型数据进行排序,构造成大顶堆;将已建立的大顶堆进行堆排序;在对话框中显示出已建成堆的具体结构;若操作错误能够给出用户相应的提示;通过MFC实现可视化界面的操作; 二.设计思想1.将一组无序序列构造成一个堆: 假设序列长度为n,以线性数组作为存储,那么从第i={n/2}({},表示下界)个元素开始调整(因为叶子结点已
2、经是堆无需调整),分别和他的左右子树结点(第一次只有叶子结点)比较大小,和较大的那个交换;然后i自减,对这个新的i元素进行调整,同样和他的左右子树(这时候左右子树已经是小根堆)根结点比较后进行调整,如果破坏了其中一个子树的堆平衡,那么需要继续对这个子树进行堆调整;这样调整到序列第一个元素后,这个序列就已经是大根堆 2.对堆进行堆排序 构造了堆之后,就可以对其进行堆排序 堆的最大元素已经在堆顶,将其和序列最后一个元素交换目的-通过该培训员工可对保安行业有初步了解,并感受到安保行业的发展的巨大潜力,可提升其的专业水
3、平,并确保其在这个行业的安全感。为了适应公司新战略的发展,保障停车场安保新项目的正常、顺利开展,特制定安保从业人员的业务技能及个人素质的培训计划 这样得到两个序列,A=[1...n-1]B=[n],其中B是有序的,A失去了大顶堆的平衡,这时候继续对A进行调整,将其调整为大顶堆调整为大顶堆后,和上面过程类似,一直到A中只余下一个元素为止设计表示 给出具体存储结构,和关键函数操作功能说明,若没有存储结构,可以写宏定义等作为补充; 实现注释 能描述出涉及操作的参数含义,及操作实现的具体方案 设计表示 画出整体流
4、程,及核心算法流程 用户手册 描述具体,能够根据该手册进行程序的使用,并给出操作注意事项; 调试报告 表达具体,能诊断出给定输入得不到正确输出的原因和解决方案 **大家别忘了写总结,10分呢 6.源程序关键代码和结果 源程序关键代码 // #include""目的-通过该培训员工可对保安行业有初步了解,并感受到安保行业的发展的巨大潜力,可提升其的专业水平,并确保其在这个行业的安全感。为了适应公司新战略的发展,保障停车场安保新项目的正常、顺利开展,特制定安保从业人员的业务技能及个人素质的培训计划 S
5、tatusJudgeInput(int&num,char*buffer,Int&IntTable)//编辑框一的判断 { charJudgeNumberBuffer[11]={'0','1','2','3','4','5','6','7','8','9',''};//判断第一个编辑框是否为空if(num==0)returnERROR;//输入为空//判断第一个编辑框是否输入都是数字和空格for(inti=0;i0;--i)HeapAdjust(Buffer,i,*Buffer);for(intj=*Buffer;
6、j>1;--j){}intbuffer;buffer=Buffer[1];Buffer[1]=Buffer[j];Buffer[j]=buffer;HeapAdjust(Buffer,1,j-1);intrs=Buffer[s];//用于存放临时存放数字for(intj=2*s;j0;--i)HeapAdjust(HeapSortBuffer,i,*HeapSortBuffer);ShowTheTree(hTREEITEM,m_showtree,HeapSortBuffer);MessageBox("大顶堆建立成功"
7、);MessageBox("输入失败");return; YZHeapSort(HeapSortBuffer); ShowTheTree(hTREEITEM,m_showtree,HeapSortBuffer); } MessageBox("堆排序成功"); 运行结果目的-通过该培训员工可对保安行业有初步了解,并感受到安保行业的发展的巨大潜力,可提升其的专业水平,并确保其在这个行业的安全感。为了适应公司新战略的发展,保障停车场安保新项目的正常、顺利开展,特制定安保从业人员的业务技能及个人素质的培训计划 1
8、.程序运行界面 插入排序和堆排序实验报告 学号:4 班级:10级软三 专业:软件三班 姓名:王建桥 一、该结构的功能。 1.插入排序:顾名思义就是一种排序的方法。插入排序的算法原理比较简单,通过一点点构建有序序列来达到排序的目的。主要功能是可以很快很便捷的完成插入排序功能。 2.堆排序:学习堆排序我们在这之前学习了最小堆,是否是