数据结构课程设计任务书及

上传人:第*** 文档编号:56922795 上传时间:2018-10-17 格式:DOC 页数:15 大小:381.50KB
返回 下载 相关 举报
数据结构课程设计任务书及_第1页
第1页 / 共15页
数据结构课程设计任务书及_第2页
第2页 / 共15页
数据结构课程设计任务书及_第3页
第3页 / 共15页
数据结构课程设计任务书及_第4页
第4页 / 共15页
数据结构课程设计任务书及_第5页
第5页 / 共15页
点击查看更多>>
资源描述

《数据结构课程设计任务书及》由会员分享,可在线阅读,更多相关《数据结构课程设计任务书及(15页珍藏版)》请在金锄头文库上搜索。

1、Comment D1: 选题后请补充题目!湖南工业大学课 程 设 计资 料 袋商学院 学院(系、部) 2016 2017 学年第 1 学期 课程名称 数据结构C 语言描述 指导教师 邓晓军 职称 教授 学生姓名 专业班级 学号 题 目 成 绩 起止日期 2016 年 12 月 12 日 2016 年 12 月 16 日目 录 清 单序号材 料 名 称资料数量备 注1数据结构设计说明书123张456湖南工业大学Comment D2: 此页不需要打印Comment D3: 选题后请将自己的课 题补充上。课程设计任务书2016 2017 学年第学年第 1 学期学期商学院 学院(系、部) 信息管理 专

2、业 1501-1502 班级课程名称: 数据结构 (C 语言程序描述) 设计题目: 第 2 章第 7 章课后算法设计题任选 2 题 完成期限:自 2016 年 12 月 12 日至 2016 年 12 月 16 日共 1 周内 容 及 任 务根据教材数据结构(C 语言版) 第 2 章至第 7 章自选 2 个及以上习题 (不能选同一章)作为课程设计题目,要求通过设计,在数据结构的逻辑特性 和物理表示、数据结构的选择应用、算法的设计及其实现等方面加深对课程基 本内容的理解和综合运用。 主要任务: 1、在处理每个题目时,要求从分析题目的需求入手,按设计抽象数据类型、 构思算法、通过设计实现抽象数据类

3、型、编制上机程序和上机调试等若干步骤 完成题目,最终写出完整的分析报告。前期准备工作完备与否直接影响到后序 上机调试工作的效率。在程序设计阶段应尽量利用已有的标准函数,加大代码 的重用率。 2、设计的题目要求达到一定工作量(300 行以上代码) ,并具有一定的深度 和难度。 3、程序设计语言推荐使用 C/C+,程序书写规范,源程序需加必要的注释; 4、每位同学需提交可独立运行的程序;起止日期工作内容2016.12.12-12.13选好课设题目,并完成程序框架设计,各类函数及函 数之间的链接和转换 2016.12.14-12.15程序的实现及调试 2016.12.16程序的完善及资料整理进 度

4、安 排主 要 参 考 资 料数据结构及应用 C 语言描述 ,沈华等编著,机械工业出版社 数据结构 C 语言版 ,严蔚敏等编著,清华大学出版社指导教师 (签字): 年 月 日系(教研室)主任( 签字): 年 月 日I数据结构课程设计设计说明书(题目)起止日期: 2016 年 12 月 12 日 至 2016 年 12 月 16 日学生姓名曹爽班级信管 1502学号15415400233成绩指导教师 (签字 )计算机学院(部)计算机学院(部)2016 年年 12 月月 16 日日II目录目录1 课程设计内容介绍5 1.1 题目 1.5 1.2 题目 2.5 2 数据结构的设计6 2.1 题目 1

5、逻辑结构和存储结构设计 6 2.2 题目 2 逻辑结构和存储结构设计 6 3 功能模块(或算法)描述7 3.1 题目 1.7 3.1.1 流程图.7 3.1.2 主要功能模块(函数).7 3.1.3 算法伪代码.7 3.1.4 源程序.7 3.1.5 程序运行结果及界面.8 3.1.6 时间和空间复杂度分析.8 3.2 题目 2 .8 3.2.1 流程图.7 3.2.2 主要功能模块(函数).7 3.2.3 算法伪代码.7 3.2.4 源程序.7 3.2.5 程序运行结果.8 3.2.6 时间和空间复杂度分析.8 4 心得体会 .12 参考文献.1311 课程设计内容介绍课程设计内容介绍1.1

6、1.1 题目一题目一将两个递增的有序链表合并为一个递增的有序链表。要求结果链表仍使用原来 两个链表的存储空间, 不另外占用其它的存储空间。表中不允许有重复的数据。1.21.2 题目二题目二设计一个算法,求图 G 中距离顶点 v 的最短路径长度最大的一个顶点,设 v 可 达其余各个顶点。22 数据结构的设计数据结构的设计2.12.1 题目一题目一 逻辑结构和存储结构设计逻辑结构和存储结构设计逻辑结构:线性结构存储结构:链式结构假设头指针为 LA 和 LB 的单链表分别为线性表 LA 和 LB 的存储结构,现在要归并 LA 和 LB 得到单链表 LC。但是链表节点之间的关系是通过指针指向建立起来的

7、,所以要用链表进行合并不需要另外开辟储存空间,可以直接利用原来两个表的存储空间,合并过程中只需把 LA 和 LB 两个表中的节点重新进行链接即可。合并后的新表使用头指针 Lc 指向,pa 和 pb 分别是链表 La 和 Lb 的工作指针,初始化为相应链表的第一个结点,从第一个结点开始进行比较,当两个链表La 和 Lb 均为到达表尾结点时,依次摘取其中较小者重新链接在 Lc 表的最后。如果两个表中的元素相等,只摘取 La 表中的元素,删除 Lb 表中的元素,这样确保合并后表中无重复的元素。当一个表到达表尾结点,为空时,将非空表的剩余元素直接链接在 Lc 表的最后。2.22.2 题目二题目二 逻辑

8、结构和存储结构设计逻辑结构和存储结构设计33 功能模块(或算法)描述功能模块(或算法)描述3.13.1 题目一题目一将两个递增的有序链表合并为一个递增的有序链表。要求结果链表仍使用原来 两个链表的存储空间, 不另外占用其它的存储空间。表中不允许有重复的数据。3.1.13.1.1 流程图流程图1.指针 Pa 和 Pb 初始化,分别指向 LA 和 LB 的第一个节点。2.Lc 的指针取值为 LA 的头结点。3.指针 Pc 初始化,指向 Lc 的头结点。4.当指针 Pa 和 Pb 均未到达相应表尾时,则依次比较 Pa 和 Pb 所指向的元素值,从 LA 和 LB 中摘取元素值较小的节点插入到 LC

9、的最后。5.将非空表的剩余段插入到 Pc 所指结点之后。6.释放 LB 的头结点。3.1.23.1.2 主要功能模块主要功能模块cls()清屏功能3.33.3 搜索搜索date_sc(int shibie)按日期搜索4name_sc(int shibie)按书名搜索3.43.4 修改修改shuru_sc(int i)输入、修改图书信息3.53.5 编辑编辑e_insert()插入新的图书信息e_delete()删除图书信息e_update()修改图书信息3.63.6 显示所有图书显示所有图书display()输出全部图书all_display()输出全部图书(和 display 函数一起用)s

10、huchu(int n)显示所有信息3.73.7 排序排序date_sort()按日期排序3.83.8 统计统计statistic()统计每类书籍的数量,和 display 函数一起用3.93.9 文件操作文件操作xieru_sc(int shibie)将内存中的数据写入文件f_open()打开文件 和 新建文件(关闭文件直接用 fclose 函数即可,所以不用另外写函数)54 程序运行结果程序运行结果4.1 主菜单4.2 编辑文件64.3 显示所有书籍4.4 排序界面75 心得体会心得体会Xxxxxxxxxxxxxxxxxxxxxxx8参考文献参考文献1 朱站立数据结构-使用 C 语言(第

11、3 版) 西安:西安交通大学出版社,2004.2 朱站立,张选平等.数据结构-使用 C 语言典型题解与上机实验指导.西安:西安交通大学出版社,2007.9附源代码附源代码#include#include#include#include#include#define MaxSize 200/定义数组最大值为 200struct BookType/结构体类型为 BookTypeintyear;/定义 购买日期 年intmonth;/定义 购买日期 月intday;/定义 购买日期 天charname20; /定义 书名charauthor8; /定义 作者inttype;/定义 类型号码float

12、price;/定义 价格aMaxSize,zancunMaxSize,tihuanMaxSize,bMaxSize,cMaxSize;/ListGet 用 zancun 数组和 b 数组,ListInsert 用 a 数组,排序操作用 tihuan 和 zancun 数组,c 数组用于删除操作int dateMaxSize;/用来相加 年 月 日 排序时候用typedef BookType DataType;/DataType 的类型为 BookType 类型的结构体#include “LinList.h“/引用单链表 头文件FILE *fp;/定义文件指针10SLNode *head; /定

13、义单链表的头结点/=void menu();/主菜单void end();/结束界面void cls();/清屏void search(int shibie);/搜索界面void date_sc(int shibie);/日期搜索void name_sc(int shibie);/书名搜索void author_sc(int shibie);/作者搜索void type_sc(int shibie);/类型搜索void price_sc(int shibie);/价格搜索void shuru_sc(int i);/修改文件信息操作-修改信息void xieru_sc(int shibie);/

14、修改文件信息操作-将修改的信息写 入文件int f_open();/打开文件 void edit();/编辑图书信息界面void e_insert(); /插入图书void e_delete(); /删除图书void e_update(); /修改原来存在图书的信息void display();/输出全部数据void all_display();/输出全部图书void sort();/分类界面 包括日期排序、书名排序、作者、编号排 序、价格排序,如果某一项相同则继续按书名排序11void date_sort(); /日期排序void name_sort(); /书名排序void author_sort();/作者排序void type_sort(); /类型排序void price_sort();/价格排序void paixu(int j);/进行赋值和替换的操作void shuchu(int n);/显示所有信息void statistic(); /统计每类书籍的数量,显示统计结果/=void main()/主函数menu();/=

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

当前位置:首页 > 高等教育 > 大学课件

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