第一范文网 - 专业文章范例文档资料分享平台

学士学位论文—-数据结构课程设计排序与查找

来源:用户分享 时间:2025/8/22 23:31:42 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

北京信息科技大学

课程设计报告

课程名称 数据结构课程设计 题 目 排序与查找 指导教师

设计起止日期 设计地点

系 别 信息管理学院 专 业 __信息管理与信息系统_ 姓名/学号______鲁丹2012012108__

— 1 —

1. 课程实践目的: 通过本实践使学生对各类排序算法有更深入的了解,在实际应用中学会使用排序算法解决具体问题。 2. 课程实践内容: a) 随机产生20个0—100之间的整数,允许有重复 b) 分别利用直接插入排序、直接选择排序、快速排序、双向起泡排序对这20个数进行排序(递增递减均可),并统计在各种排序方法中关键字的比较次数,最后输出各类排序方法的排序结果及关键字的比较次数。 提示:双向起泡排序是对标准起泡排序算法的改进,该方法第一次自上而下进行“起泡”,使最大元素“下沉”到底,第二次自下而上进行“起泡”,使最小元素“上浮”到顶,之后又重复上述过程,每趟起泡后都会相应缩小下一趟的起泡排序区间,直至排序完成。起泡期间可以通过对某趟“起泡”的“最后交换位置”进行记忆,以尽可能快地缩短下一趟的“起泡”区间。 c) 用折半查找法在前面的已排好序的数据表上查找,是否有此数,如有,输出其序号。如没有,在屏幕给出提示信息。 3. 实践步骤: #include #include #include #define N 100 #define OK 1 #define ERROR 0 #define LIST_INIT_SIZE 100 #define LISTINCREMENT 10 — 2 —

#define INFEASIBLE -1 #define OVERFLOW -2 typedef int Status; typedef int ElemType; typedef struct{ ElemType *elem; int length; int listsize; }List; Status InitList(List &L) { L.elem=(ElemType * ) malloc(LIST_INIT_SIZE * sizeof(ElemType)); L.length = 0; L.listsize=LIST_INIT_SIZE; return OK; }//InitList void Create(List &L, int n) {

— 3 —

int i; srand(time(NULL)); for(i=0;i=L.elem[j]) — 4 —

学士学位论文—-数据结构课程设计排序与查找.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c745wt3baeb0fluh9boav3qhtz4wh9l00twh_1.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top