数据结构课程设计(附代码)_第1页
数据结构课程设计(附代码)_第2页
数据结构课程设计(附代码)_第3页
数据结构课程设计(附代码)_第4页
数据结构课程设计(附代码)_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1/1数据结构课程设计(附代码)应用技术学院课程设计报告

课程名称《数据结构课程设计》

设计题目猴子选大王;建立二叉树;各种排序;有序表的合并;成果管理系统;院系计算机科学与信息工程专业计算机科学与技术班级

学号指导老师日期

一.目的与要求

1.巩固和加深对常见数据结构的理解和把握

2.把握基于数据结构进行算法设计的基本方法

3.把握用高级语言实现算法的基本技能

4.把握书写程序设计说明文档的力量

5.提高运用数据结构学问及高级语言解决非数值实际问题的力量

二.课程设计容说明

1.项目一

(1)对设计任务容的概述

同学成果管理**

任务:要现对同学资料的录入、扫瞄、插入和删除等功能。

输入:设同学成果以记录形式存储,每个同学记录包含的信息有:学号和各门课程的成果,设同学成果至少3门以上。存储结构:采纳线性链式结构。

(2)具体设计

LinkList*create:输入同学成果记录函数;

voidprint(LinkList*head):显示全部记录函数

LinkList*Delete(LinkList*head):删除记录函数

LinkList*Insert(LinkList*head):插入记录函数

voidmenu_select:菜单选择

voidScoreManage:函数界面

(3)程序流程图

(4)程序模块及其接口描述

该程序可以分为以下几个模块:

1、菜单选择:voidmenu_select;

供应五种可以选择的操作,在main函数过switch语句调用菜单menu_select函数,进入不同的功能函数中完成相关操作。

2、输入功能:LinkList*create;

通过一个for循环语句的掌握,可以一次完成很多条记录的输入。并将其存入链表。

3、输出功能:voidprint(LinkList*head);

通过一个while的循环掌握语句,在指针p!=NULL时,完成全部同学记录的显示。知道不满意循环语句,程序再次回到菜单选择功能界面。

4、删除功能:LinkList*Delete(LinkList*head);

按想要删除的同学的学号首先进行查找,通过指针所指向结点的下移来完成,假如找到该记录,则完成前后结点的连接,同时对以查找到的结点进行空间的释放,最终完成对某个同学记录进行删除,并重新存储。

5、插入功能:LinkList*Insert(LinkList*head);

输入你想插入的位置,通过指针所指向结点的下移,找到该位置,将该新的同学记录插入到该结点,并对该结点后面的指针下移。链表长度加一,重新存储。

(5)程序的输入与输出描述

输入:调用LinkList*create函数,输入同学的、学号、三门功课的成果;

输出:调用voidprint(LinkList*head)函数,输出同学的记录。

(6)程序测试

主菜单:

成果管理系统的主界面:

同学成果记录的输入:

输出同学成果记录:

同学成果记录的删除(删除学号是1101的同学记录)

插入新的同学成果记录(插入学号为1103的同学记录)

(7)尚未解决的问题或改进方向

尚未解决的问题:该成果管理系统还存在不少缺陷,而且它供应的功能也是有限的,只能实现同学成果的输入、输出、删除、插入。对于,同学成果记录的文件保存以及按学号、等的查询也是缺少的。还有就是,对于多个同学成果的操作也是不够的。

改进的方向:在时间许可的条件下,尽量的完善该系统的各种功能,同时也应修改系统,让它更为人性化、简洁化,被广阔用户所接受。

(8)对软件的使用说明

该软件是属于比较低级的软件,只是包含了课程设计的要求的几个功能:输入、输出、删除、插入。所以用户在使用的过程中确定会受到肯定的局限性、不便利性,但由于时间的原因,无法将软件做到尽善尽美。

2.项目二

(1)对设计任务容的概述

各种排序

任务:用程序实现插入法排序、选择法排序、起泡法改进算法排序;

利用插入排序、选择法排序和冒泡法的改进算法,将用户随机输入的一列数按递增的挨次排好。

输入的数据形式为任何一个正整数,大小不限。

输出的形式:数字大小逐个递增的数列。

(2)功能描述

该函数有以下几个功能:

1)对R[0..n-1]按递增有序进行直接插入排序

2)对R[0..n-1]按递增有序进行冒泡排序

3)对R[0..n-1]按递增有序进行直接选择排序

4)排序后的输出

5)调用全部排序,实现排序

(3)程序流程图

(4)具体设计

voidInsertSort(RecTypeR,intn):对R[0..n-1]按递增有序进行直接插入排序

voidBubbleSort(RecTypeR,intn):对R[0..n-1]按递增有序进行冒泡排序voidSelectSort(RecTypeR,intn):对R[0..n-1]按递增有序进行直接选择排序

voiddisp(RecTypeR,intn):排序后的输出

voidSort:调用全部排序,实现排序

(5)程序模块及其接口描述

该程序分为五个模块:

1.输入功能:voidSort

建立一个数组存放用户在键盘上输入的关键字,在分别调用各种排序的函数,对关键

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论