数据结构课程设计任务书及模板Word文档格式.docx
- 文档编号:20947233
- 上传时间:2023-01-26
- 格式:DOCX
- 页数:10
- 大小:94.19KB
数据结构课程设计任务书及模板Word文档格式.docx
《数据结构课程设计任务书及模板Word文档格式.docx》由会员分享,可在线阅读,更多相关《数据结构课程设计任务书及模板Word文档格式.docx(10页珍藏版)》请在冰豆网上搜索。
课程设计任务书
2016—2017学年第1学期
商学院学院(系、部)信息管理专业1501-1502班级
课程名称:
数据结构(C语言程序描述)
设计题目:
第2章—第7章课后算法设计题任选2题
完成期限:
自2016年12月12日至2016年12月16日共1周
内
容
及
任
务
根据教材《数据结构(C语言版)》第2章至第7章自选2个及以上习题(不能选同一章)作为课程设计题目,要求通过设计,在数据结构的逻辑特性和物理表示、数据结构的选择应用、算法的设计及其实现等方面加深对课程基本内容的理解和综合运用。
主要任务:
1、在处理每个题目时,要求从分析题目的需求入手,按设计抽象数据类型、构思算法、通过设计实现抽象数据类型、编制上机程序和上机调试等若干步骤完成题目,最终写出完整的分析报告。
前期准备工作完备与否直接影响到后序上机调试工作的效率。
在程序设计阶段应尽量利用已有的标准函数,加大代码的重用率。
2、设计的题目要求达到一定工作量(300行以上代码),并具有一定的深度和难度。
3、程序设计语言推荐使用C/C++,程序书写规范,源程序需加必要的注释;
4、每位同学需提交可独立运行的程序;
进
度
安
排
起止日期
工作内容
2016.12.12-12.13
选好课设题目,并完成程序框架设计,各类函数及函数之间的链接和转换
2016.12.14-12.15
程序的实现及调试
2016.12.16
程序的完善及资料整理
主
要
参
考
资
料
《数据结构及应用C语言描述》,沈华等编著,机械工业出版社
《数据结构C语言版》,严蔚敏等编著,清华大学出版社
指导教师(签字):
年月日
系(教研室)主任(签字):
数据结构课程设计
设计说明书
(题目)
起止日期:
2016年12月12日至2016年12月16日
学生姓名
曹爽
班级
信管1502
学号
15415400233
成绩
指导教师(签字)
计算机学院(部)
2016年12月16日
1课程设计内容介绍
1.1题目一
将两个递增的有序链表合并为一个递增的有序链表。
要求结果链表仍使用原来两个链表的存储空间,不另外占用其它的存储空间。
表中不允许有重复的数据。
1.2题目二
设计一个算法,求图G中距离顶点v的最短路径长度最大的一个顶点,设v可达其余各个顶点。
2数据结构的设计
2.1题目一逻辑结构和存储结构设计
逻辑结构:
线性结构
存储结构:
链式结构
假设头指针为LA和LB的单链表分别为线性表LA和LB的存储结构,现在要归并LA和LB得到单链表LC。
但是链表节点之间的关系是通过指针指向建立起来的,所以要用链表进行合并不需要另外开辟储存空间,可以直接利用原来两个表的存储空间,合并过程中只需把LA和LB两个表中的节点重新进行链接即可。
合并后的新表使用头指针Lc指向,pa和pb分别是链表La和Lb的工作指针,初始化为相应链表的第一个结点,从第一个结点开始进行比较,当两个链表La和Lb均为到达表尾结点时,依次摘取其中较小者重新链接在Lc表的最后。
如果两个表中的元素相等,只摘取La表中的元素,删除Lb表中的元素,这样确保合并后表中无重复的元素。
当一个表到达表尾结点,为空时,将非空表的剩余元素直接链接在Lc表的最后。
2.2题目二逻辑结构和存储结构设计
3功能模块(或算法)描述
3.1题目一
3.1.1流程图
1.指针Pa和Pb初始化,分别指向LA和LB的第一个节点。
2.Lc的指针取值为LA的头结点。
3.指针Pc初始化,指向Lc的头结点。
4.当指针Pa和Pb均未到达相应表尾时,则依次比较Pa和Pb所指向的元素值,从LA和LB中摘取元素值较小的节点插入到LC的最后。
5.将非空表的剩余段插入到Pc所指结点之后。
6.释放LB的头结点。
3.1.2主要功能模块
cls()清屏功能
3.3搜索
date_sc(intshibie)按日期搜索
name_sc(intshibie)按书名搜索
3.4修改
shuru_sc(inti)输入、修改图书信息
3.5编辑
e_insert()插入新的图书信息
e_delete()删除图书信息
e_update()修改图书信息
3.6显示所有图书
display()输出全部图书
all_display()输出全部图书(和display函数一起用)
shuchu(intn)显示所有信息
3.7排序
date_sort()按日期排序
3.8统计
statistic()统计每类书籍的数量,和display函数一起用
3.9文件操作
xieru_sc(intshibie)将内存中的数据写入文件
f_open()打开文件和新建文件(关闭文件直接用fclose函数即可,所以不用另外写函数)
4.1主菜单
4.2编辑文件
4.3显示所有书籍
Xxxxxxxxxxxxxxxxxxxxxxx
参考文献
[1]朱站立.数据结构---使用C语言(第3版).西安:
西安交通大学出版社,2004.
[2]
朱站立,张选平等.数据结构---使用C语言典型题解与上机实验指导.西安:
西安交通大学出版社,2007.
附源代码
#include<
stdio.h>
stdlib.h>
conio.h>
malloc.h>
string.h>
#defineMaxSize200//定义数组最大值为200
structBookType//结构体类型为BookType
{
intyear;
//定义购买日期年
intmonth;
//定义购买日期月
intday;
//定义购买日期天
charname[20];
//定义书名
charauthor[8];
//定义作者
inttype;
//定义类型号码
floatprice;
//定义价格
}a[MaxSize],zancun[MaxSize],tihuan[MaxSize],b[MaxSize],c[MaxSize];
//ListGet用zancun数组和b数组,ListInsert用a数组,排序操作用tihuan和zancun数组,c数组用于删除操作
intdate[MaxSize];
//用来相加年月日排序时候用
typedefBookTypeDataType;
//DataType的类型为BookType类型的结构体
#include"
LinList.h"
//引用单链表头文件
FILE*fp;
//定义文件指针
SLNode*head;
//定义单链表的头结点
//===================================================================
voidmenu();
//主菜单
voidend();
//结束界面
voidcls();
//清屏
voidsearch(intshibie);
//搜索界面
voiddate_sc(intshibie);
//日期搜索
voidname_sc(intshibie);
//书名搜索
voidauthor_sc(intshibie);
//作者搜索
voidtype_sc(intshibie);
//类型搜索
voidprice_sc(intshibie);
//价格搜索
voidshuru_sc(inti);
//修改文件信息操作--修改信息
voidxieru_sc(intshibie);
//修改文件信息操作--将修改的信息写入文件
intf_open();
//打开文件
voidedit();
//编辑图书信息——界面
voide_insert();
//插入图书
voide_delete();
//删除图书
voide_update();
//修改原来存在图书的信息
voiddisplay();
//输出全部数据
voidall_display();
//输出全部图书
voidsort();
//分类界面包括日期排序、书名排序、作者、编号排序、价格排序,如果某一项相同则继续按书名排序
voiddate_sort();
//日期排序
voidname_sort();
//书名排序
voidauthor_sort();
//作者排序
voidtype_sort();
//类型排序
voidprice_sort();
//价格排序
voidpaixu(intj);
//进行赋值和替换的操作
voidshuchu(intn);
//显示所有信息
voidstatistic();
//统计每类书籍的数量,显示统计结果
voidmain()//主函数
{menu();
}
=================================
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据结构 课程设计 任务书 模板
![提示](https://static.bdocx.com/images/bang_tan.gif)