数据结构试验报告 - 各种内排序算法的实现及性能比较(2)
while(child<=j){ if((child A[(child-1)/2]=temp; } //堆排序的C++程序 template void HeapSort(T A[], int n) { for(int i=(n-2)/2; i>-1; i--) AdjustDown(A,i,n-1); for(i=n-1; i>0; i--){ Swap(A[0],A[i]); AdjustDown(A,0,i-1); } } Meau.h #include #include \#include \#include \#include \#include \#include \ #define SIZE 400 #define TIMES 1000 template public: void printmenu(); void selectsort();//简单选择排序 void insertSort();//直接插入排序 void bubbleSort();//冒泡排序 void quickSort();//快速排序 void mergeSort();//两路合并排序 //构造最大堆 void heapSort();//堆排序 void childmenu();//子菜单1 void childmenu2();//子菜单2 void switcha(); private: int a,b,c; }; template void Menu cout<<\ cout<<\简单选择排序\ cout<<\直接插入排序\ cout<<\冒泡排序\ cout<<\快速排序\ cout<<\两路合并排序\ cout<<\堆排序\ cout<<\退出\ cout<<\:测试用的数组元素为\时间为重复运行\次的时间(包括了产生数据与析构的时间)\ this->switcha(); } template void Menu cout<<\ cout<<\最好情况\ cout<<\最坏情况\ cout<<\平均情况\ cout<<\返回主菜单\ cin>>b; if(b==4)this->printmenu(); } template void Menu cout<<\ cout<<\原始算法\ cout<<\改进算法\ cout<<\返回主菜单\ cin>>c; if(c==3)this->printmenu(); } template void Menu //cout<<\ cin>>a; switch(a) { case 1:this->selectsort();break;//ok case 2:this->insertSort();break;//ok case 3:this->bubbleSort();break;//ok case 4:this->quickSort();break;//ok case 5:this->mergeSort();break;//ok case 6:this->heapSort();break;//ok case 7:exit(1);break; default:cout<<\ } }; template void printout(T A[],int n)//打印数组,测试时用 { for(int i=0;i T *producedate(int x)//产生顺序,逆序,随机的数组 { int i; T *A=new T[SIZE]; switch(x) { case 1: for(i=0;i case 2:for(i=SIZE;i>0;i--)A[i-1]=SIZE-i;return A;//逆序 break; case 3:srand(time(NULL)); for(i=0;i } } template void Swap(T &a,T &b)//交换2个元素 { T temp=a; a=b; b=temp; } template void Menu cout<<\冒泡排序\ this->childmenu(); T *A; double duration; clock_t start,finish; start=clock(); cout<<\ for(int i=0;i finish=clock(); duration=(double)(finish-start)/CLOCKS_PER_SEC; //printout(A,SIZE); cout<<\用时: \ system(\ //delete []A; this->bubbleSort(); }/*ok*/ template void Menu cout<<\堆排序\ cout<<\直接用随机数据测试\ T *A; double duration; clock_t start,finish; start=clock(); cout<<\ for(int i=0;i finish=clock(); duration=(double)(finish-start)/CLOCKS_PER_SEC; cout<<\用时: \ system(\ this->printmenu(); } template void Menu cout<<\直接插入排序\ this->childmenu(); T *A; double duration; //A=producedate //if(A==NULL){cout<<\ //printout(A,SIZE); clock_t start,finish; start=clock(); cout<<\ for(int i=0;i finish=clock(); duration=(double)(finish-start)/CLOCKS_PER_SEC; //printout(A,SIZE); cout<<\用时: \ system(\ //delete []A; this->insertSort(); } template void Menu
相关推荐:
- [学前教育]MC9S12XS256RMV1 xs128芯片手册4
- [学前教育]安东尼语录经典语录
- [学前教育]e级gps控制测量技术设计书
- [学前教育]苏教版2022-2022学年八年级下学期期末
- [学前教育]装修公司推广 营销
- [学前教育]家政服务合同(完整版)
- [学前教育]湖北省2016届高三联考语文试题
- [学前教育]爱立信无涯学习系统LTE题库1-LTE基础知
- [学前教育]揭秘大众柴油车作弊软件原理
- [学前教育]人才流失原因及对策分析
- [学前教育]房屋建筑施工工程劳务分包合同
- [学前教育]国际贸易实务试卷A卷09.6
- [学前教育]校园废品回收活动计划方案书范文格
- [学前教育]电大成本会计试题及答案
- [学前教育]大学物理实验 华南理工出版社 绪论答案
- [学前教育]爱丁堡产后抑郁量表
- [学前教育]液压冲击的危害、产生原因与防止方法(
- [学前教育]学生工作总结高一学生期中考试总结_020
- [学前教育]人民医院医疗废物管理规章制度大全
- [学前教育]阳光维生素的巨大抗癌潜能阅读题答案.d
- 马云在云锋基金江苏论坛闭幕式的发言
- 试论小学体育教育中的心理健康教育-教
- 语文A版一年级下册《语文乐园一》教学
- 2021四川大学物理化学考研真题经验参考
- [人教A版]2015-2016学年高中数学 第二
- 终端网点销售返利协议书
- 江苏省2015年眼科学主治医师青光眼考试
- 2017年部编人教版八年级语文上册教案
- 十一中学七年级英语上册Unit7Howmuchar
- 以赛促教的创新性实验教学机制建设实践
- 平凉市崆峒区2015七年级下生物期末试题
- 琶洲(地块五)A、B塔楼1、2#塔吊基础
- 一级医院工作制度与人员岗位职责
- 2018北京西城区高三二模理科数学试题及
- 炒股密码线技术 - 图文
- 职高学生生涯发展辅导教案
- 语文人教版四年级上册8 世界地图引出的
- 最新最新人教版二年级上册全册数学教案
- 2017高考英语全国2卷精彩试题(有问题
- 普通心理学笔记




