数据结构课程设计报告(完结).pdf

  1. 1、本文档共4页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 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)

186****5169 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档