资源描述:
《数据结构堆排序c,,实现报告》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、为了适应公司新战略的发展,保障停车场安保新项目的正常、顺利开展,特制定安保从业人员的业务技能及个人素质的培训计划数据结构堆排序c,,实现报告 1.堆排序 详细设计 #include #include #include #defineMax_Size5000 #defineTRUE1 #defineFALSE0 typedefintKeyType; typedefintOtherType; typedefstruct { KeyTypekey; OtherTypeother_data;
2、}RecordType; voidsift(RecordTyper[],intk,intm)//筛选算法 /*假设r[k..m]是以r[k]为根的完全二叉树,且分别以r[2k]和r[2k+1]为根的左、右子树为大根堆,调整r[k],使整个序列r[k..m]满足堆的性质*/ {目的-通过该培训员工可对保安行业有初步了解,并感受到安保行业的发展的巨大潜力,可提升其的专业水平,并确保其在这个行业的安全感。为了适应公司新战略的发展,保障停车场安保新项目的正常、顺利开展,特制定安保从业人员的业务技能及个人素质的培训计划
3、 RecordTypet; inti,j,x; boolfinished; finished=FALSE; t=r[k];//暂存根记录 x=r[k].key; i=k; j=2*i; while(j=r[j].key) finished=TRUE;//筛选完毕 else//继续筛选 {r[i]=r[j]; i=j; j=2*i; } } r[i]=t;//r[k]填入到当前位置 } voidcrt_heap(RecordTyper[],intlength) /*对记录数组r
4、建堆,length为数组的长度*/ { intn,i;目的-通过该培训员工可对保安行业有初步了解,并感受到安保行业的发展的巨大潜力,可提升其的专业水平,并确保其在这个行业的安全感。为了适应公司新战略的发展,保障停车场安保新项目的正常、顺利开展,特制定安保从业人员的业务技能及个人素质的培训计划 n=length; for(i=n/2;i>=1;--i)//从第i个位置开始筛选建堆 sift(r,i,n); } voidHeapSort(RecordTyper[],intlength) /*对r[1..
5、n]进行堆排序,执行本算法后,r中记录按关键字由小到大有序排列*/{ crt_heap(r,length); RecordTypet; intn,i; n=length; for(i=n;i>=2;--i)//将堆顶记录和堆中的最后一个记录互换 { t=r[1]; r[1]=r[i]; r[i]=t; sift(r,1,i-1);//使r[1..i-1]变成堆 } }/*HeapSort*/ voidmain() {目的-通过该培训员工可对保安行业有初步了解,并感受到安保行业的发展的巨大
6、潜力,可提升其的专业水平,并确保其在这个行业的安全感。为了适应公司新战略的发展,保障停车场安保新项目的正常、顺利开展,特制定安保从业人员的业务技能及个人素质的培训计划 inti; RecordTyper[Max_Size]; intlen; printf("请输入待排序记录的长度:"); scanf("%d",&len); srand((unsigned)time(NULL)); for(i=1;i数据结构堆排序c,,实现报告)据结构中堆排序的C编程实现 #include #include #d
7、efinemax100 //函数声明 voidPrint(intheap[]); voidChoose(intchoice,intheap[]); voidHeapSort(intheap[],intlength); voidCreateHeap(intheap[],intlength); voidsift(intheap[],intk,intm); voidPrintHeap(intheap[],intlength); //主函数 intmain() { intheap[max];目的-通过
8、该培训员工可对保安行业有初步了解,并感受到安保行业的发展的巨大潜力,可提升其的专业水平,并确保其在这个行业的安全感。为了适应公司新战略的发展,保障停车场安保新项目的正常、顺利开展,特制定安保从业人员的业务技能及个人素质的培训计划 system("colora"); Print(heap); while(true) { printf("Pressen