武汉纺织大学《数据结构》实验报告1.pdfVIP

  • 1
  • 0
  • 约6.09千字
  • 约 6页
  • 2026-02-27 发布于河南
  • 举报

武汉纺织大学《数据结构》实验报告1.pdf

武汉纺织大学《数据结构》实验报告

班级:级管工类专业2班姓名:序号:1

实验时间:2014年4月4日指导教师:

实验一:线性结构的基本操作

一、实验目的:

1、熟悉Java上机环境,掌握Java语言编程方法,熟练运用Java语言实现数

据结构设计和算法设计。

2、掌握线性表的顺序存储结构和链式存储结构的定义与基本操作,并能用Java

语言实现线性表基本功能。

3、掌握栈、队列的存储结构与基本操作,并能利用该结构编写算法解决实际

问题。

二、实验内容:

1、编写一个Java语言程序,利用线性表实现约瑟夫环问题,参考书本程序示

例【例2.1】,完善该程序并运行。

实验步骤:

①、在Java编辑环境中新建程序,根据【例2.1】输入完整程序内容,并保

存和编译;

②、运行程序,输入约瑟夫环长度number、起始位置start、计数值distance;

③、依次输入约瑟夫环中number个数据元素;

④、输出约瑟夫环执行过程。

2nHanoi

、编写一个程序,利用栈解决递归问题,实现阶塔问题。

实验步骤:

①、在Java编辑环境中新建程序,输入n阶Hanoi塔程序内容,并保存和

编译;

②、运行程序,输入盘子数目n。

③、输出n阶Hanoi塔问题解决过程。

参考程序如下:

importjava.util.Scanner;

publicclassMethodOfHanoi{

publicstaticvoidmain(String[]args){

System.out.println(“请输入盘子数目:”);

Scannerscan=newScanner(System.in);//输入盘子数目

intnumber=scan.nextInt();

hanoi(number,‘A’,‘B’,‘C’);//调用hanoi方法

}

publicstaticvoidhanoi(intnum,chara,charb,charc){

if(num==1)//只有一个盘子,直接移动

{

move(a,c);

}else{

hanoi(num-1,a,c,b);//递归调用

move(a,c);

hanoi(num-1,b,a,c);//递归调用

}

}

publicstaticvoidmove(chara,charc)//移动过程方法

{

System.out.println(从+a+移到+c);

}

}

3、编写一个程序,利用Java语言建立一个空队列,如果输入奇数,则奇数入

队列;如果输入偶数,则队列中的第一个元素出队列;如果输入0,则退出程序。

实验步骤:

①、在Java编辑环境中新建程序,输入程序内容,并保存和编译;

②、运行程序,输入数据并进行相应队列操作。

③、输出每次输入数据后的队列结果。

三、操作步骤:

1.代码:

importjava.util.ArrayList;

importjava.util.List;

publicclassYSfh{

publicYSfh(intnumber,intstart,intdistance){

ListStringlist=newArrayListString(number);

for(inti=0;inumber;i++)

list.add((char)(A+i)+

文档评论(0)

1亿VIP精品文档

相关文档