java走迷宫最短路径,java 迷宫最短路径

  java走迷宫最短路径,java 迷宫最短路径

  如何解决写爬虫IP受阻的问题?立即使用。

  队列的建立

  静态队列r=new linked list();//创建队列(学习视频分享:java课程)

  排队的基本方法

  r . offer();输入队列的末尾

  r . poll();离开队伍

  r . peek();团队领导的内容

  代码实现:

  全局变量设置

  套餐二;

  导入Java . util . linked list;

  导入Java . util . queue;

  导入Java . util . scanner;

  公共类BFS {

  static int a[][]=new int[100][100];//输入迷宫

  static int v[][]=new int[100][100];//行走的标记是1。

  静态int startx,starty//输入起始位置。

  静态int p,q;//输入要到达的坐标位置

  static int dx[]={0,1,0,-1 };//方向数组

  static int dy[]={1,0,-1,0 };

  static queue point r=new linked list point();//创建队列

  静态类点{ //创建类坐标属性

  int x;

  int y;

  int步;

  }输入迷宫,起始位置和目标位置。

  公共静态void main(String[] args) {

  Scanner in=新扫描仪(system . in);

  int m=in . nextint();

  int n=in。nextInt();

  for(int I=1;I=m;I) //输入迷宫

  for(int j=1;j=n;j)

  a[I][j]=in . nextint();

  startx=in . nextint();

  starty=in . nextint();//输入目标和起始位置

  p=in . nextint();

  q=in . nextint();BFS算法开始

  1.设置团队领导。

  //BFS

  点start=新点();//定义一个初始类作为队列的头

  start.x=startx

  start.y=starty

  start . step=0;

  r.offer(开始);

  v[startx][starty]=1;2.进入循环体。

  而(!r . isempty(){//队列为空时跳出循环

  int x=r.peek()。x;//分配队列头的属性。

  int y=r.peek()。y;

  int step=r.peek()。步;

  If(x==p y==q) {//到达目的地并退出循环

  system . out . println(step);

  打破;

  }

  for(int I=0;i4;I) {//遍历广度,分别在右下和左上加入队伍。

  int tx=x dx[I];

  int ty=y dy[I];

  if(a[TX][TY]==1v[TX][TY]==0){//判断是否可以入队。

  //加入团队

  point temp=new point();//创建一个临时类

  temp.x=tx

  temp.y=ty

  temp.step=r.peek()。第一步;

  r.offer(临时);//加入团队

  v[tx][ty]=1;//标记为1

  }

  }

  r . poll();//资料片完成后,团队需要先出去。

  }

  }

  }相关推荐:java入门。以上是利用java算法BFS寻找迷宫出口最短路径的详细内容。请多关注我们的其他相关文章!

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: