越南河内夜生活论坛:几种基本的排序
来源:百度文库 编辑:偶看新闻 时间:2024/04/29 13:51:21
//六种排序#include#define max 100class sample{ int A[max]; int n; friend class process;public: sample() {n=0;}};class process{ void qsort(sample &s,int l,int h); //私有成员,由quicksort()成员组成public: void getdata(sample &s); //获取数据 void binsertsort(sample &s); //折半排序 void insertsort(sample &s); //直接插入排序 void shellsort(sample &s); //西尔排序 void bubblesort(sample &s); //冒泡排序 void quicksort(sample &s); //快速排序 void selectsort(sample &s); //选择排序 void disp(sample &s); //输出结果};void process::getdata(sample &s) //获取数据{ int i; cout<"数据个数: ";="" cin="">>s.n; for(i=0;i <"输入第>"输入第><><" ¸元数:="" ";="" cin="">>s.A[i]; }}void process::binsertsort(sample &s) //折半排序{ int i,j,mid,high,low; for(i=1;i <=high) {="" mid="(low+high)/2;">=high)>=high;--j) s.A[j+1]=s.A[j]; s.A[high+1]=s.A[s.n]; }}void process::insertsort(sample &s) //直接插入排序{ int i,j,temp; for(i=0;i0) { for(i=gap;i=gap) if(s.A[j]>s.A[j+gap]) { temp=s.A[j]; s.A[j]=s.A[j+gap]; s.A[j+gap]=temp; j=j-gap; } else j=0; } gap=gap/2; }}void process::bubblesort(sample &s) //冒泡排序{ int j,i,temp; for(i=0;ii+1;j--) { if(s.A[j]i&&s.A[j]>=temp) j--; if(i <><=temp) i++;="">=temp)> <><" ";="">"> <"原来排序: ";="" p.disp(s);="" do="" {="">"原来排序:><"0: 直接插入排序="" 1:西尔排序="" 2:冒泡排序="" 3:快速排序="" 4:选择排序="" 5:="" 折半排序="">"0:> <"选择排序方法: ";="" cin="">>sel; switch(sel) { case 0: p.insertsort(s); cout<"直接插入排序的结果: ";="" p.disp(s);="">"直接插入排序的结果:><"是(y )否继续:="" ";="" cin="">>c; break; case 1: p.shellsort(s); cout<"西尔排序的结果: ";="" p.disp(s);="">"西尔排序的结果:><"是(y )否继续:="" ";="" cin="">>c; break; case 2: p.bubblesort(s); cout<"冒泡排序的结果: ";="" p.disp(s);="">"冒泡排序的结果:><"是(y )否继续:="" ";="" cin="">>c; break; case 3: p.quicksort(s); cout<"快速排序的结果: ";="" p.disp(s);="">"快速排序的结果:><"是(y )否继续:="" ";="" cin="">>c; break; case 4: p.selectsort(s); cout<"选择排序的结果: ";="" p.disp(s);="">"选择排序的结果:><"是(y )否继续:="" ";="" cin="">>c; break; case 5: p.binsertsort(s); cout<"折半排序的结果: ";="" p.disp(s);="">"折半排序的结果:><"是(y )否继续:="" ";="" cin="">>c; break; default: c=‘n‘; break; } if(c!=‘y‘&&c!=‘Y‘) cout<> "是(y>"是(y>"是(y>"是(y>"是(y>"是(y>"选择排序方法:> ">"数据个数:>
信息技术与学科整合的基本方法由几种
Internet提供的几种基本服务是什么?
组成岩石的化学元素基本有那几种
西方几种语言学理论的基本观点?
常见的几种音乐格式中,哪种格式的效果最好,哪种其次?最好给个排序
下列是一个月内的几种月相,应该怎么排序:下弦月 望月 上弦月 残月 新月
几位数字,随意排序,排序后的数字是原来数字的三分之一,该如何算
计算机软件技术专业需要掌握那几种基本的编程语言????
请求麻将的基本规则及几种主要打法(不同地区).
装机软件 我电脑重装了 需要几种基本的软件
请问谁有跆拳道的几种基本踢法?(附有图片)
和老外沟通的基本几句外语 怎么讲
芭蕾的基本舞步里共有几位
买辆车最基本的消费有那几项?
处理几十兆的数据排序,最好用什么方法啊?速度要快
一般国有工人享有几种基本福利?
请问以下几位球员怎样排序
谁能帮总结下英语中最基本最常用的的几种句型的结构组成?谢谢了!!!!
mp3歌曲的排序
谁知道内存大小的排序
行政级别的排序
中国十二生肖的排序?
新百家姓的排序
九大行星的排序