- 1、本文档共4页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
数据结构课程设计报告(完结)
《数据结构》课程设计手册
一、栈的使用
(一)需求分析
本程序通过java语言完成栈的构造,对堆栈的数据进
行基本的存储操作。具体包括,数据的入栈、出栈、读取等。
入栈操作:要求用户从键盘出入要进栈的数值或字符,
对栈满的情况作出提示。
出栈操作:删除栈顶元素,并将删除的数据或字符在运
行结果中显示。对栈空的情况作出提示。
读取操作:在插入和删除的任意阶段都可讲栈中的元素
读取出来,能够实现对栈中的数据元素个数进行统计。(二)
概要设计
1.为了实现上述程序功能,需要定义栈的数据类型有:
staticintMAX=5;
staticString[]item=newString[MAX];staticint
top;2.本程序包含4个函数
Push()初始条件:栈未满操作结果:往栈中插入数据;
Pop()初始条件:存在非空栈操作结果:将栈中的数据删
除;
Get()初始条件:存在非空栈操作结果:显示非空栈
中的所有元素;Main()操作结果:调用以上函数。
程序流程图:
Main()Pop()
Push()Get()
(三)详细设计
具体代码见Stack.java
基本操作:
Stack()构造一个空的栈,初始状态top的指针为-1;
入栈方法publicstaticvoidpush()。该方法中,首
先判断是否栈满(top=MAX-1),如果栈满,则输出提示语
“栈满,栈中最多能容纳5个元素”,否则从键盘输入数据,
并且top指针加1。
出栈方法publicstaticvoidpop()。首先判断是否栈
空(top0改成ifront+1后,一切问题都解决了。
最后得运行结果
插入:
删除:
四、图的表示
(一):需求分析
有向带权图包括图形的原顶点、终点及权值,所以在定
义变量时,定义destination、source、value这三个变量。
默认为0,根据用户的输入将其转化成邻接矩阵,并输出。
(二):概要设计:
定义有向图的行数和列数,通过提示,要求输入者输入
原顶点、对应边的权值及目标顶点。用check()方法实现
对数组的验证功能,验证两个顶点之间是否生成了自循环
(source=destination),是否超出数组范围(source=MAX
||destination=MAX)。通过主方法将带权有向图转换为
邻接矩阵。
(三):详细设计:
Graph.java
(四):调试分析:
1、运行程序后,显示出来的界面:
2、
3、出现自循环时,界面如下。
4、顶点超出数组范围
五、数组的使用、存储
(一):需求分析
运用数组存储数据,对数组实行存入数据与删除数据的
操作,整个程序用Array一个类来写,下面包含add、delete、
tostring、checkint、main这5个方法,main方法里创建
了新的数组,在选择相关的步骤后便可对数组进行插入删除
读取操作。
(二):概要设计:
(三):详细设计
见Array.java
(四):调试分析:
1、当点击开始时,出现如下界面。
文档评论(0)