数据结构课程设计任务书及模板.docx

上传人:b****5 文档编号:7819119 上传时间:2023-01-26 格式:DOCX 页数:10 大小:94.19KB
下载 相关 举报
数据结构课程设计任务书及模板.docx_第1页
第1页 / 共10页
数据结构课程设计任务书及模板.docx_第2页
第2页 / 共10页
数据结构课程设计任务书及模板.docx_第3页
第3页 / 共10页
数据结构课程设计任务书及模板.docx_第4页
第4页 / 共10页
数据结构课程设计任务书及模板.docx_第5页
第5页 / 共10页
点击查看更多>>
下载资源
资源描述

数据结构课程设计任务书及模板.docx

《数据结构课程设计任务书及模板.docx》由会员分享,可在线阅读,更多相关《数据结构课程设计任务书及模板.docx(10页珍藏版)》请在冰豆网上搜索。

数据结构课程设计任务书及模板.docx

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

湖南工业大学

课程设计

资料袋

商学院学院(系、部)2016~2017学年第1学期

课程名称数据结构—C语言描述指导教师邓晓军职称教授

学生姓名专业班级学号

题目

成绩起止日期2016年12月12日~2016年12月16日

目录清单

序号

材料名称

资料数量

备注

1

数据结构设计说明书

1

2

3

4

5

6

湖南工业大学

课程设计任务书

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

#include

#include

#include

#include

#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();}

//===================================================================

=================================

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 外语学习 > 日语学习

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1