




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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.Arr
5、ayList;import java.util.List;public class YSfhpublic YSfh(int number, int start, int distance) List<String> list = new ArrayList<String>(number);for (int i = 0; i < number; i+)list.add(char) ('A' + i) + "");System.out.print("约瑟夫环(" + number + ","
6、+ start + "," + distance + "),");System.out.print(list.toString();int i = start;while (list.size() > 1) i = (i + distance - 1) % list.size();System.out.print("删除" + list.remove(i).toString() + ",");System.out.print(list.toString();System.out.print("被赦免
7、者是" + list.get(0).toString();public 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();han
8、oi(number,'A','B','C'); 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(num-1,b,a,c); /递归调用 public static void move(char a,char c) /移动过程方法 System.out.println("从 "+a+" 移到 "
9、;+c); 运行结果:3.代码QQueue.javapublic interface QQueue<T> boolean isEmpty();boolean enqueue(T x);T dequeue();SeqQueue.javapublic class SeqQueue<T> implements QQueue<T> private Object element;private int front, rear;public SeqQueue(int length) if (length < 64)length = 64;this.element
10、= new ObjectMath.abs(length);this.front = this.rear = 0;public SeqQueue() this(64);public boolean isEmpty() return this.front = this.rear;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 Object
11、temp.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.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
12、) this.elementthis.front;this.front = (this.front + 1) % this.element.length;return temp;public String toString() String str = "("if (!isEmpty() str += this.elementthis.front.toString();int i = (this.front + 1) % this.element.length;while (i != this.rear) str += "," + this.elemen
13、ti.toString();i = (i + 1) % this.element.length;return str + ")"ts3.javaimport java.util.Scanner;public class ts3public static void main(String args) Scanner in = new Scanner(System.in);SeqQueue<Integer> 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.
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 会议品牌形象设计合同
- 桥梁工程的生态建设目标创新考核试卷
- 苗木独家采购协议
- 肉类副产品加工新技术对环境影响的评估考核试卷
- 电气设备在智能电网电力系统模拟与仿真中的应用考核试卷
- 石油产品运输安全考核试卷
- 窄轨机车车辆制造质量保证体系运行考核试卷
- 纺织品销售技巧与客户服务考核试卷
- 耐火土石矿山开采过程中的废水处理技术创新考核试卷
- 肉类加工企业流程再造与效率提升考核试卷
- 教育培训机构运营流程手册
- 人力资源许可证制度(服务流程、服务协议、收费标准、信息发布审查和投诉处理)
- 山东铁投集团社会招聘笔试真题2023
- 2024小学语文新教材培训讲稿:一年级新教材修订概况及教材介绍
- 2024年江西省高考生物试卷(含答案)
- JJF(民航) 0114-2024 民用航空自动气象观测系统气压传感器校准规范
- 三级电子商务师测试试题库与答案
- 2023年高考历史真题新高考福建卷试题含答案解析
- DZ/T 0430-2023 固体矿产资源储量核实报告编写规范(正式版)
- 2024年中铁集装箱运输有限责任公司招聘笔试参考题库附带答案详解
- 物业管理中英文对照外文翻译文献
评论
0/150
提交评论