欢迎来到天天文库
浏览记录
ID:37825982
大小:44.00 KB
页数:5页
时间:2019-05-31
《08500329雷雷-算法实验一》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、算法分析与设计实验日志指导教师代宇实验时间:2010年10月19日学院计算机专业计算机科学与技术班级0410801学号08500329姓名雷雷实验室S308实验题目:分治法实验目的:1.掌握分治法思想;2.熟练运用分治法解决相应的问题。实验要求:3.写一个“由底向上”的归并分类排序算法。4.用快速分类算法对10个数(键盘输入)进行从大到小或从小到大的排列并输出结果。实验主要步骤:第一题:#include#includeusingnamespacestd;voidcombin
2、e(int*,int,int,int);voidmergesort(int*sortarray,intlow,inthigh){intk=(low+high)/2;if(lowk和k+1->high这两段合并到low到high
3、}}//把有序的两段数组合并为一段数组,并使合并这段数组同样有序voidcombine(int*sortarray,intlow,intk,inthigh){vectortemp(high-low+1,0);//temp是辅助存储数组,辅助存储当前排好序的状态inti,j,p;i=low;//控制前半段下标移动j=k+1;//控制后半段下标移动p=0;//控制temp的小标移动while(i<=k&&j<=high)//但前半段或者后半段的数全部排好序(放入temp数组)时退出{if(*(sorta
4、rray+i)<*(sortarray+j))//从小到大排序{temp[p]=*(sortarray+i);i++;}else{temp[p]=*(sortarray+j);j++;}p++;}//把前半段没有排好序的数排序,放入temp数组while(i<=k&&j>high){temp[p]=*(sortarray+i);i++;p++;}//把后半段没有排好序的数排序,放入temp数组while(j<=high&&i>k){temp[p]=*(sortarray+j);j++;p++;}//把temp
5、数组中的数拷贝会需要排序的数组,完成归并for(i=0;i>num;for(i=1;i<=num;i++){cout<<"请输入数:"<6、l;cin>>*(sortarray+i);}cout<<"输入最小最大的个数:"<>low>>high;cout<<"初始数据为:"<7、#include#include"QuickSort.h"usingnamespacestd;intmain(){intn;cout<<"请输入你要排序的个数:"<>n;vectora(n+1,0);cout<<"请输入数:"<>a[i];}cout<<"由小到大排序结果为:"<8、orta.show();return0;}#ifndefQUICKSORT_H#defineQUICKSORT_H#includeusingnamespacestd;classquicksort{private:vector&sortarray;intpartition(intlow,inthigh){sortarray[0]=sortarray[low];while(lo
6、l;cin>>*(sortarray+i);}cout<<"输入最小最大的个数:"<>low>>high;cout<<"初始数据为:"<7、#include#include"QuickSort.h"usingnamespacestd;intmain(){intn;cout<<"请输入你要排序的个数:"<>n;vectora(n+1,0);cout<<"请输入数:"<>a[i];}cout<<"由小到大排序结果为:"<8、orta.show();return0;}#ifndefQUICKSORT_H#defineQUICKSORT_H#includeusingnamespacestd;classquicksort{private:vector&sortarray;intpartition(intlow,inthigh){sortarray[0]=sortarray[low];while(lo
7、#include#include"QuickSort.h"usingnamespacestd;intmain(){intn;cout<<"请输入你要排序的个数:"<>n;vectora(n+1,0);cout<<"请输入数:"<>a[i];}cout<<"由小到大排序结果为:"<8、orta.show();return0;}#ifndefQUICKSORT_H#defineQUICKSORT_H#includeusingnamespacestd;classquicksort{private:vector&sortarray;intpartition(intlow,inthigh){sortarray[0]=sortarray[low];while(lo
8、orta.show();return0;}#ifndefQUICKSORT_H#defineQUICKSORT_H#includeusingnamespacestd;classquicksort{private:vector&sortarray;intpartition(intlow,inthigh){sortarray[0]=sortarray[low];while(lo
此文档下载收益归作者所有