实验10:排序子系统

上传人:mg****85 文档编号:36900663 上传时间:2018-04-04 格式:DOC 页数:22 大小:770.50KB
返回 下载 相关 举报
实验10:排序子系统_第1页
第1页 / 共22页
实验10:排序子系统_第2页
第2页 / 共22页
实验10:排序子系统_第3页
第3页 / 共22页
实验10:排序子系统_第4页
第4页 / 共22页
实验10:排序子系统_第5页
第5页 / 共22页
点击查看更多>>
资源描述

《实验10:排序子系统》由会员分享,可在线阅读,更多相关《实验10:排序子系统(22页珍藏版)》请在金锄头文库上搜索。

1、验证性实验验证性实验 1010:排序子系统:排序子系统班级: H1001 学号: 09 姓名: 陆俊 实验日期: 2011.12.7 1实验目的 (1)掌握常用排序方法的基本思想。 (2)通过实验加深理解各种排序算法。 (3)通过实验掌握各种排序方法的时间复杂度分析。 (4)了解各种排序方法的优缺点及适用范围。2实验内容 (1)编写直接插入排序程序。 (2)编写希尔排序程序。 (3)编写冒泡排序程序。 (4)编写快速排序程序。 (5)编写选择排序程序。 (6)编写归并排序程序。 (7)编写堆排序程序。 (8)程序执行时,要求能显示每一趟的排序结果。 (9)设计一个选择式菜单,以菜单方式选择上述

2、排序程序。排 序 子 系 统* 1-更新排序数据 * 2-直接插入排序 * 3-希 尔 排 序 * 4-冒 泡 排 序 * 5-快 速 排 序 * 6-选 择 排 序 * 7-归 并 排 序 * 8-堆 排 序 * 0-返 回 * * 请选择菜单号(0-8):3实验程序#include #include #include #define L 8 #define FALSE 0 #define TURE 1 typedef struct int key; char otherinfo;RecType; typedef RecType SeqlistL+1; int num; Seqlist R;

3、 void Insertsort(); void Bubblesort(); void QuickSort(int low,int high); void Shellsort(); void Selectsort(); void Mergesort(); int Partition(int i,int j); void Heap(); void main() Seqlist S; int i,k; char ch1,ch2,q; printf(“nt 请输入%d 个待排序数据(按【Enter】键分隔):nt“,L);for(i=1;i0) for(i=gap+1;i0) if(Rj.keyRj

4、+gap.key) x=Rj.key;Rj.key=Rj+gap.key; Rj+gap.key=x; j=j-gap; else j=0; gap=gap/2; m+; printf(“t 第%d 趟排序结果为(按【Enter】键继续):“,m);for(k=1;k=i+1;j-) if(Rj.key=pirot.key) j-; if(i=Rj.key) finish=1; else Rj/2.key=Rj.key; j=j*2; Rj/2.key=temp; void HeapSort() int i,j,temp,k; for(i=(L/2);i=1;i-) CreateHeap(i,

5、L); for(i=L-1,k=1;i=1;i-,k+) temp=Ri+1.key; Ri+1.key=R1.key; R1.key=temp; CreateHeap(1,i); printf(“t 第%d 趟排序结果为(按【Enter】键继续):“,k);for(j=1;j=L;j+) printf(“%5d“,Rj.key); getchar(); printf(“n“); void Heap() int i;printf(“nt 原始数据为(按【Enter】键开始排序):“);for(i=1;i=L;i+) printf(“%5d“,Ri.key); printf(“nt“); get

6、char(); HeapSort(); printf(“nt 排序的最终结果是:“);for(i=1;i=L;i+) printf(“%5d“,Ri.key); printf(“n“); 4程序运行5实验小结 这次试验,我也和以前一样把代码打完运行之后运行找错,结果又有错误了,两个地 方漏了“;”,一运行就提示我错误信息,在我改正之后才能够顺利运行程序代码。 这次试验,我也遇到了很奇怪的问题,菜单中的第七个选项无法运行,以选择“7”就 会弹出一个框框,让我“调试程序”活着“退出程序”的错误提示。所以就直接关了后重 新运行了一次,重新运行后就没有去选择 7,其他的试过,能很好地给出我要的结果。我想,会不会是因为我的系统是 Win7 的关系,才会出现这种提示嘛!?就算不是也无所谓了, 归并排序也不是我们要考试的,我们主要掌握直接插入排序、希尔排序和冒泡排序就行了 老师说,我也就没多想什么。 这章主要讲的是排序,排序是将数据的任意序列,重新排列成一个按关键字有序排列 的序列,整过过程全部在内存进行的排序称为内排序。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 科普知识

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号