《数据结构课程设计报告(完结).docx》由会员分享,可在线阅读,更多相关《数据结构课程设计报告(完结).docx(4页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、数据结构课程设计报告(完结) 数据结构课程设计手册 一、 栈的使用 (一)需求分析 本程序通过java 语言完成栈的构造,对堆栈的数据进行基本的存储操作。具体包括,数据的入栈、出栈、读取等。 入栈操作:要求用户从键盘出入要进栈的数值或字符,对栈满的情况作出提示。 出栈操作:删除栈顶元素,并将删除的数据或字符在运行结果中显示。对栈空的情况作出提示。 读取操作:在插入和删除的任意阶段都可讲栈中的元素读取出来,能够实现对栈中的数据元素个数进行统计。 (二)概要设计 1.为了实现上述程序功能,需要定义栈的数据类型有: static int MAX=5; static String item =new
2、StringMAX; static int top; 2.本程序包含4个函数 Push() 初始条件:栈未满 操作结果:往栈中插入数据; Pop() 初始条件:存在非空栈 操作结果:将栈中的数据删除; Get() 初始条件:存在非空栈 操作结果:显示非空栈中的所有元素; Main() 操作结果:调用以上函数。 程序流程图: Main() Pop() Push() Get() (三)详细设计 具体代码见Stack.java 基本操作: Stack()构造一个空的栈,初始状态top的指针为-1; 入栈方法public static void push()。该方法中,首先判断是否栈满(top=MAX
3、-1),如果栈满,则输出提示语“栈满 ,栈中最多能容纳5个元素”,否则从键盘输入数据,并且top指针加1。 出栈方法public static void pop()。首先判断是否栈空(top0改成ifront+1后,一切问题都解决了。 最后得运行结果 插入: 删除: 四、图的表示 (一):需求分析 有向带权图包括图形的原顶点、终点及权值,所以在定义变量时,定义destination、source、value这三个变量。默认为0,根据用户的输入将其转化成邻接矩阵,并输出。 (二):概要设计: 定义有向图的行数和列数,通过提示,要求输入者输入原顶点、对应边的权值及目标顶点。用check()方法实现
4、对数组的验证功能,验证两个顶点之间是否生成了自循环(source=destination),是否超出数组范围(source = MAX | destination = MAX)。通过主方法将带权有向图转换为邻接矩阵。 (三):详细设计: Graph.java (四):调试分析: 1、运行程序后,显示出来的界面: 2、 3、出现自循环时,界面如下。 4、顶点超出数组范围 五、数组的使用、存储 (一):需求分析 运用数组存储数据,对数组实行存入数据与删除数据的操作,整个程序用Array一个类来写,下面包含add、delete、tostring、checkint、main这5个方法,main方法里创建了新的数组,在选择相关的步骤后便可对数组进行插入删除读取操作。 (二):概要设计: (三):详细设计 见Array.java (四):调试分析: 1、当点击开始时,出现如下界面。