• 大小: 2KB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2021-05-16
  • 语言: Java
  • 标签:   队列  迷宫  游戏  

资源简介

分别用栈和队列实现走迷宫的算法,电子工业出版社,叶核亚版的数据结构(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

评论

共有 条评论