资源简介
分别用栈和队列实现走迷宫的算法,电子工业出版社,叶核亚版的数据结构(java)课后习题,希望对大家有用。

代码片段和文件信息
package lianxi2;
import java.util.Deque;
import java.util.linkedList;
public class MigongQueue {
int[][] map={
{101110}
{111010}
{010110}
{111000}
{100111}
{111100}};
Deque que=new linkedList();
Point nowpre;
public MigongQueue(){
now=new Point();
pre=new Point();
}
public int check(){
int i=0;
int a=now.x;
int b=now.y;
if(a-1>=0){
if(map[a-1][b]==1){
i++;
}
}
if(a+1<=5){
if(map[a+1][b]==1){
i++;
}
}
if(b-1>=0){
if(map[a][b-1]==1){
i++;
}
}
if(b+1<=5){
if(map[a][b+1]==1){
i++;
}
}
return i;
}
public boolean isOk(){
if(now.x==4&&now.y==5){
return true;
}else{
return false;
}
}
public void pavement(){
while(!isOk()){
int a=now.x;
int b=now.y;
if(a-1>=0&&map[a-1][b]==1){
map[a][b]=2;
que.offer(new Point(now));
now.x=a-1;
}
if(a+1<=5&&map[a+1][b]==1){
map[a][b]=2;
que.offer(new Point(now));
now.x=a+1;
}
if(b-1>=0&&map[a][b-1]==1){
map[a][b]=2;
que.offer(new Point(now));
now.y=b-1;
}
if(b+1<=5&&map[a][b+1]==1){
map[a][b]=2;
que.offer(new Point(now));
now.y=b+1;
}
if(check()==0){
map[a][b]=-1;
now=que.peek();
while(check()!=0){
now=que.poll();
map[now.x][now.y]=-1;
}
}
}
System.out.println(“you succeed!“);
}
public void _printAll(){
now=new Point();
while(!isOk()){
int a=now.x;
int b=now.y;
if(a-1>=0){
if(map[a-1][b]==2){
System.out.println(now.x+““+now.y);
now.x=a-1;
}
}
if(a+1<=5){
if(map[a+1][b]==2){
System.out.println(now.x+““+now.y);
now.x=a+1;
}
}
if(b-1>=0){
if(map[a][b-1]==2){
System.out.println(now.x+““+now.y);
now.y=b-1;
}
}
if(b+1<=5){
if(map[a][b+1]==2){
System.out.println(now.x+““+now.y);
now.y=b+1;
}
}
//System.out.println();
}
}
public void printAll(){
for(int i=0;i<6;i++){
for(int j=0;j<6;j++){
if(map[i][j]==2){
System.out.println(i+““+j);
}
}
}
}
public static void main(String[] args){
MigongQueue mi=new MigongQueue();
mi.pavement();
mi.printAll();
}
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 2496 2012-03-28 22:39 MigongQueue.java
文件 2304 2012-03-27 21:33 MigongStack.java
文件 536 2012-04-02 19:32 Point.java
相关资源
- 阿里云rocketmq消息队列对接demo
- Spring Boot技术栈博客企业前后端.txt
- Java基于双向链表实现双端队列结构(
- spring 整合activemq实现自定义动态消息
- JAVA-计算机操作系统 多级反馈队列调
- Java Design Demo -简单的队列
- JavaWeb全栈面试题
- Android图片上传队列Service
- 森林冰火人之走迷宫
- 第14章 Android 3D娱乐游戏——3D迷宫
- 迷你迷宫自主式小游戏.7z
- 黑马最新C_C++全栈培训第24期课程资料
- 2018年10月黑马《十次方》视频+架构师
- java 栈的实现和应用
- android 迷宫游戏设计
- javaweb最新全栈黑马视频2018
- 汉诺塔 迷宫用java实现,并且拥有可视
- android迷宫游戏源代码
- 迷宫的自动搜索求解可是化
- Java Spring技术栈构建团购网站前后台
- 走迷宫课程设计报告
- Spring技术栈构建完整java前后台团购网
- java开发走迷宫可视化源码程序
- 简易计算器Java Swing实现
- MQTT消息队列mosquitto的java方式实现客户
- java编写的抽象工厂迷宫,文字式,非
- Java Spring技术栈构建完整前后台团购网
- Spring Boot从前端到后台打造企业级博客
- java使用栈的真值表程序
- java多线程模拟队列实现排队叫号
评论
共有 条评论