数据结构课程设计-排序与查找

数据结构课程设计-排序与查找

ID:6789282

大小:59.50 KB

页数:18页

时间:2018-01-25

数据结构课程设计-排序与查找_第1页
数据结构课程设计-排序与查找_第2页
数据结构课程设计-排序与查找_第3页
数据结构课程设计-排序与查找_第4页
数据结构课程设计-排序与查找_第5页
资源描述:

《数据结构课程设计-排序与查找》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、北京信息科技大学课程设计报告课程名称数据结构课程设计题目排序与查找指导教师设计起止日期设计地点系别信息管理学院专业__信息管理与信息系统_姓名/学号______鲁丹__—18—1.课程实践目的:通过本实践使学生对各类排序算法有更深入的了解,在实际应用中学会使用排序算法解决具体问题。2.课程实践内容:a)随机产生20个0—100之间的整数,允许有重复b)分别利用直接插入排序、直接选择排序、快速排序、双向起泡排序对这20个数进行排序(递增递减均可),并统计在各种排序方法中关键字的比较次数,最后输出各类排序方法的排序结果及关键字的比较次数。提示:双向起泡排序是对标准起泡排序算法的改进,该方法

2、第一次自上而下进行“起泡”,使最大元素“下沉”到底,第二次自下而上进行“起泡”,使最小元素“上浮”到顶,之后又重复上述过程,每趟起泡后都会相应缩小下一趟的起泡排序区间,直至排序完成。起泡期间可以通过对某趟“起泡”的“最后交换位置”进行记忆,以尽可能快地缩短下一趟的“起泡”区间。c)用折半查找法在前面的已排好序的数据表上查找,是否有此数,如有,输出其序号。如没有,在屏幕给出提示信息。3.实践步骤:#include#include#include#defineN100#defineOK1#defineERROR0#defineLIST_

3、INIT_SIZE100#defineLISTINCREMENT10—18—#defineINFEASIBLE-1#defineOVERFLOW-2typedefintStatus;typedefintElemType;typedefstruct{ElemType*elem;intlength;intlistsize;}List;StatusInitList(List&L){L.elem=(ElemType*)malloc(LIST_INIT_SIZE*sizeof(ElemType));L.length=0;L.listsize=LIST_INIT_SIZE;returnOK;}//

4、InitListvoidCreate(List&L,intn){—18—inti;srand(time(NULL));for(i=0;i=L.elem[j])—18—m++;elsem++;while((j>=0)&&(t

5、.elem[j];j--;}L.elem[j+1]=t;}returnm;}intSelectSort(ListL){inti,j,k,min,t=0;for(i=0;i

6、4=0;—18—if(si&&L.elem[j]>=L.elem[0]){j--;count4++;}if(i

7、eSort(ListL){intflag,i,j;intt=0;flag=1;while(flag==1)—18—{flag=0;i=0;for(j=L.length-i;j>i;j--){if(L.elem[j-1]>L.elem[j]){flag=1;intm;m=L.elem[j];L.elem[j]=L.elem[j-1];L.elem[j-1]=m;t++;}elset++;}}returnt;}voiddisplay(ListL)—

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。