武汉纺织大学《数据结构》实验报告(共6页).doc

上传人:飞****2 文档编号:14126889 上传时间:2022-05-02 格式:DOC 页数:6 大小:230.50KB
返回 下载 相关 举报
武汉纺织大学《数据结构》实验报告(共6页).doc_第1页
第1页 / 共6页
武汉纺织大学《数据结构》实验报告(共6页).doc_第2页
第2页 / 共6页
点击查看更多>>
资源描述

《武汉纺织大学《数据结构》实验报告(共6页).doc》由会员分享,可在线阅读,更多相关《武汉纺织大学《数据结构》实验报告(共6页).doc(6页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、精选优质文档-倾情为你奉上武汉纺织大学数据结构实验报告班级: 级 管工类 专业 2 班 姓名: 序号: 1 实验时间: 2014 年 4 月 4 日 指导教师: 实验一:线性结构的基本操作一、实验目的: 1、熟悉Java 上机环境,掌握Java语言编程方法,熟练运用Java语言实现数据结构设计和算法设计。2、掌握线性表的顺序存储结构和链式存储结构的定义与基本操作,并能用Java语言实现线性表基本功能。3、掌握栈、队列的存储结构与基本操作,并能利用该结构编写算法解决实际问题。二、实验内容: 1、编写一个Java语言程序,利用线性表实现约瑟夫环问题,参考书本程序示例【例2.1】,完善该程序并运行。

2、 实验步骤: 、在Java编辑环境中新建程序,根据【例2.1】输入完整程序内容,并保存和编译; 、运行程序,输入约瑟夫环长度number、起始位置start、计数值distance; 、依次输入约瑟夫环中number个数据元素; 、输出约瑟夫环执行过程。2、编写一个程序,利用栈解决递归问题,实现n阶Hanoi塔问题。 实验步骤: 、在Java编辑环境中新建程序,输入n阶Hanoi塔程序内容,并保存和编译; 、运行程序,输入盘子数目n。 、输出n阶Hanoi塔问题解决过程。参考程序如下:import java.util.Scanner;public class MethodOfHanoipubl

3、ic static void main(String args)System.out.println(“请输入盘子数目:”);Scanner scan=new Scanner(System.in); /输入盘子数目int number=scan.nextInt();hanoi(number,A,B,C); /调用hanoi方法public static void hanoi(int num, char a,char b,char c)if (num=1) /只有一个盘子,直接移动 move(a,c);elsehanoi(num-1,a,c,b); /递归调用move(a,c);hanoi(nu

4、m-1,b,a,c); /递归调用 public static void move(char a,char c) /移动过程方法 System.out.println(从 +a+ 移到 +c); 3、编写一个程序,利用Java语言建立一个空队列,如果输入奇数,则奇数入队列;如果输入偶数,则队列中的第一个元素出队列;如果输入0,则退出程序。 实验步骤: 、在Java编辑环境中新建程序,输入程序内容,并保存和编译; 、运行程序,输入数据并进行相应队列操作。 、输出每次输入数据后的队列结果。三、操作步骤:1代码:import java.util.ArrayList;import java.util.

5、List;public class YSfhpublic YSfh(int number, int start, int distance) List list = new ArrayList(number);for (int i = 0; i 1) i = (i + distance - 1) % list.size();System.out.print(删除 + list.remove(i).toString() + ,);System.out.print(list.toString();System.out.print(被赦免者是 + list.get(0).toString();pub

6、lic static void main(String args) new YSfh(5, 0, 2);运行结果:2.代码:import java.util.Scanner;public class MethodOfHanoipublic static void main(String args)System.out.println(请输入盘子数目:);Scanner scan=new Scanner(System.in); /输入盘子数目int number=scan.nextInt();hanoi(number,A,B,C); public static void hanoi(int nu

7、m, char a,char b,char c)if (num=1) /只有一个盘子,直接移动 move(a,c);elsehanoi(num-1,a,c,b); /递归调用move(a,c);hanoi(num-1,b,a,c); /递归调用 public static void move(char a,char c) /移动过程方法 System.out.println(从 +a+ 移到 +c); 运行结果:3.代码QQueue.javapublic interface QQueue boolean isEmpty();boolean enqueue(T x);T dequeue();Se

8、qQueue.javapublic class SeqQueue implements QQueue private Object element;private int front, rear;public SeqQueue(int length) if (length 64)length = 64;this.element = new ObjectMath.abs(length);this.front = this.rear = 0;public SeqQueue() this(64);public boolean isEmpty() return this.front = this.re

9、ar;public boolean enqueue(T x) if (x = null)return false;if (this.front = (this.rear + 1) % this.element.length) Object temp = this.element;this.element = new Objecttemp.length * 2;int i = this.front, j = 0;while (i != this.rear) this.elementj = tempi;i = (i + 1) % temp.length;j+;this.front = 0;this

10、.rear = j;return true;this.elementthis.rear = x;this.rear = (this.rear + 1) % this.element.length;return true;public T dequeue() if (isEmpty()return null;T temp = (T) this.elementthis.front;this.front = (this.front + 1) % this.element.length;return temp;public String toString() String str = (;if (!i

11、sEmpty() str += this.elementthis.front.toString();int i = (this.front + 1) % this.element.length;while (i != this.rear) str += , + this.elementi.toString();i = (i + 1) % this.element.length;return str + );ts3.javaimport java.util.Scanner;public class ts3public static void main(String args) Scanner i

12、n = new Scanner(System.in);SeqQueue queue = new SeqQueue(64);int num = -1;while(num != 0) num = in.nextInt();if (num % 2 = 0) if (queue.dequeue() = null) System.out.println(当前队列为空!); else if (!queue.enqueue(num) System.out.println(当前队列满!);System.out.println(当前队列: + queue.toString()四、实验收获和建议:通过这次实验,完成了三个具体的操作任务,对课堂上学到的知识有了进一步的了解,虽然有些地方还不是很懂,通过与其他同学的交流,更深入的理解了线性表,串,栈,队列的相关学习内容专心-专注-专业

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁