下载此文档

排序操作实验报告.doc


文档分类:高等教育 | 页数:约12页 举报非法文档有奖
1/12
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/12 下载此文档
文档列表 文档介绍
数据结构与算法设计实验报告(2016—2017学年第1学期)实验名称:年级:专业:班级:学号:姓名:指导教师:成都信息工程大学通信工程学院实验目的验证各种简单的排序算法。在调试中体会排序过程。二、实验要求从键盘读入一组无序数据,按输入顺序先创建一个线性表。用带菜单的主函数任意选择一种排序算法将该表进行递增排序,并显示出每一趟排序过程。三、实验步骤创建工程(附带截图说明)根据算法编写程序(参见第六部分源代码)编译调试四、实验结果图图1-直接输入排序图2-冒泡排序图3-直接选择排序五、心得体会与哈希表的操作实验相比,本次实验遇到的问题较大。由于此次实验中设计了三种排序方法导致我在设计算法时混淆了一些概念,设计思路特别混乱。虽然在理清思路后成功解决了直接输入和直接选择两种算法,但冒泡排序的算法仍未设计成功。虽然在老师和同学的帮助下完成了冒泡排序的算法,但还需要多练时也应多思考这方面的问题。而且,在直接输入和直接选择的算法设计上也有较为复杂的地方,对照书本做了精简纠正。本次实验让我发现自己在算法设计上存在一些思虑不周的地方,思考问题过于片面,逻辑思维能力太过单薄,还需要继续练习。六、源代码要求:粘贴个人代码,以便检查。#include<>#defineMAXSIZE100typedefintKeyType;typedefintDataType;typedefstruct{ KeyTypekey; DataTypedata;}SortItem,SqList[MAXSIZE];/*******直接插入顺序表*******/voidInsertSort(SqListL,intn){ inti,j,x; SortItemp; for(i=1;i<n;i++) { p=L[i]; for(j=i-1;j>=0&&<L[j].key;j--) { L[j+1]=L[j]; } L[j+1]=p; printf("\n第%d次排序为:",i); for(x=0;x<n;x++) { printf("%d\t",L[x].key); } printf("\n"); }}/*******冒泡排序*******/voidBubbleSort(SqListL,intn){ inti,j,over,x; SortItemp; for(i=0;i<n-1;i++) { over=1; for(j=1;j<n-i;j++) { if(L[j].key<L[j-1].key) { p=L[j]; L[j]=L[j-1]; L[j-1]=p; over=0; } } if(over) { break; } printf("\n第%d次排序为:",i+1); for(x=0;x<n;x++) { printf("%d\t",L[x].key); } printf("\n"); }}/*******直接选择排序*******/voidSelectSort(SqListL,intn){ inti,j,min,x; SortItemp; for(i=0;i<n-1;i++) { min=i; for(j=i+1;j<n;j++) { if(L[j].key<L[min].key) { min=j; } } if(min!=i) { p=L[i]; L[i]=L[min]; L[min]=p; } printf("\n第%d次排序为:",i+1); for(x=0;x<n;x++) { printf("%d\t",L[x].key); } printf("\n"); }}voidmain(){ SqListL; inti,n=0; KeyTypeitems[MAXSIZE]={'\0'}; printf("\n--------排序算法---------\n"); printf("\n请输入要排序的数组,输入-1结束\n"); for(i=0;i<MAXSIZE;i++) { scanf("%d",&items[i]); if(items[i]==-1) { break; } n++; } while(1) { for(i=0;i<n;i++) { L[i].key=items[i];

排序操作实验报告 来自淘豆网m.daumloan.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数12
  • 收藏数0 收藏
  • 顶次数0
  • 上传人cjc201601
  • 文件大小129 KB
  • 时间2020-01-02