




全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
算法分析与设计实验日志指导教师 代宇 实验时间: 2010 年10月19日学院 计算机 专业 计算机科学与技术 班级 0410801 学号 08500329 姓名 雷雷 实验室 S308 实验题目:分治法实验目的:1 掌握分治法思想;2 熟练运用分治法解决相应的问题。实验要求:3 写一个“由底向上”的归并分类排序算法。4 用快速分类算法对10个数(键盘输入)进行从大到小或从小到大的排列并输出结果。实验主要步骤:第一题:#include#includeusing namespace std;void combine(int *,int,int,int);void mergesort(int *sortarray,int low,int high)int k=(low+high)/2;if(lowk和k+1-high这两段合并到low到high/把有序的两段数组合并为一段数组,并使合并这段数组同样有序void combine(int *sortarray,int low,int k,int high)vector temp(high-low+1,0); /temp是辅助存储数组,辅助存储当前排好序的状态int i,j,p;i=low;/控制前半段下标移动j=k+1;/控制后半段下标移动p=0; /控制temp的小标移动while(i=k&j=high)/但前半段或者后半段的数全部排好序(放入temp数组)时退出if(*(sortarray+i)*(sortarray+j) /从小到大排序tempp=*(sortarray+i);i+;elsetempp=*(sortarray+j);j+;p+;/把前半段没有排好序的数排序,放入temp数组while(ihigh)tempp=*(sortarray+i);i+;p+;/把后半段没有排好序的数排序,放入temp数组while(jk)tempp=*(sortarray+j);j+;p+;/把temp数组中的数拷贝会需要排序的数组,完成归并for(i=0;ihigh-low+1;i+)*(sortarray+low+i)=tempi;int main()int sortarray10=0;int num,low,high;/num是需要排序的个数,low和high控制排序的数据段int i=0;/freopen(stdin.txt,r,stdin);coutnum;for(i=1;i=num;i+)cout请输入数:*(sortarray+i);cout输入最小最大的个数:lowhigh;cout初始数据为:endl;for(i=1;i=num;i+)cout*(sortarray+i) ;coutendl;/进行归并排序mergesort(sortarray,low,high);cout从小到大排序后的数据为:endl;for(i=1;i=num;i+)cout*(sortarray+i) ;coutendl;return 0;、第二题:#include#include#includeQuickSort.husing namespace std;int main()int n;cout请输入你要排序的个数:n;vector a(n+1,0); cout请输入数:endl; for(int i=1;iai;cout由小到大排序结果为:endl;quicksort sorta(a);sorta.show();return 0;#ifndef QUICKSORT_H#define QUICKSORT_H#includeusing namespace std;class quicksortprivate:vector &sortarray;int partition(int low,int high)sortarray0=sortarraylow;while(lowhigh)while(low=sortarray0)high-;sortarraylow=sortarrayhigh;while(lowhigh&sortarraylow=sortarray0)low+;sortarrayhigh=sortarraylow;sortarraylow=sortarray0;return low;void qsort(int low,int high)if(lowhigh)sortarray0=partition(low,high);qsort(low,sortarray0-1);qsort(sortarray0+1,high);public:quicksort(vector &sortarr):sortarray(sortarr)qsort(1,sortarray.size()-1);void show()for(int i=1;isortarray.size();i+)if(i=sortarray.
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年微电网稳定性优化与分布式能源管理创新趋势报告
- 2025年可穿戴医疗设备在儿童健康管理中的应用与创新研究报告
- 2025年城市轨道交通建设规划与智慧能源运营管理研究报告
- 绿色供应链管理在制造业绿色制造与绿色营销中的应用报告
- 环保产业园区循环经济模式绿色产业政策创新路径分析2025年研究报告
- 江苏村级工程管理制度
- 二级建造师培训管理制度
- 智能矸选系统管理制度
- 服装企业存货管理制度
- 2025年江西省中考历史真题(原卷版)
- 2018-2022北京高中合格考生物汇编:基因的表达
- 福建省南平市2023-2024学年八年级下学期期末考试数学试卷(含答案)
- 集控运行岗面试题及答案
- 《智能交通信号控制系统》课件
- 《冰川地貌》课件
- 广东省广州市2024年中考道德与法治试卷(含答案)
- 防水、防渗漏技术总结
- 创业修炼智慧树知到期末考试答案章节答案2024年同济大学
- 供应商考察报告-咨询服务类
- 解决问题的策略——转化课件
- JGJ_T231-2021建筑施工承插型盘扣式钢管脚手架安全技术标准(高清-最新版)
评论
0/150
提交评论