迷宫走法 数据结构

本文探讨了如何使用数据结构解决迷宫走法问题,重点在于找到从起点(1,1)到终点(4,4)的最短路径。通过定义Position类来表示方向,以及创建Mg类来构建迷宫地图。在算法实现中,注意使用continue关键字可以避免找出所有路径,仅返回最短的一条。" 127797518,5564205,华为机试题目解析:C++实现正方形数量,"['算法', '数据结构', 'C++', '华为机试', '数学']
摘要由CSDN通过智能技术生成

数据结构 迷宫走法

1>找到最短路径

定义一个 Postion 类 用于定义方向

package cn.zuoye;

public class Postion {
   
	int x;//行坐标
	int y;//列坐标
	Postion parent;
	public Postion(int x, int y )
	{
   
		
		this.x = x;
		this.y = y;
	}
	 
	@Override
	public int hashCode() {
   
		final int prime = 31;
		int result = 1;
		result = prime * result + x;
		result = prime * result + y;
		return result;
	}

	@Override
	public boolean equals(Object obj) {
   //通过坐标判断是否相等
		if (this == obj)
			return true;
		if (obj == null)
			return false;
		if (getClass() != obj.getClass())
			return false;
		Postion other = (Postion) obj;
		if (x != other.x)
			return false;
		if (y != other.y)
			return false;
		return true;
	}
	@Override
	public String toString() {
   
		return "Postion [x=" + x + ", y=" + y + ","+ "]";
	}

}

定义一个 Mg 类进行 迷宫地图的定义 及 开始坐标(1,1) 终点的坐标 (4,4)

package cn.zuoye;

import java.util.LinkedList;

public class Mg {
   
	 int a[][]={
   
			   {
   1,1,1,1,1,1},
			   {
   1,0,1,0,0,1},
			   {
   1,0,1,1,0,1},
			   {
   1,0,0,0,0,1},
			   {
   1,1,0,0,0,1},
			   {
   1,1,1,1,1,1}
	 };//地图
	 int startX=1;//入口位置x
	 int startY=1;//入口位置y
	 int endX=4;//出口位置x
	 int endY=4;//出口位置y
	 
	 LinkedList<Postion> quequ = new   LinkedList<Postion>();
	 public void go() {
   
		 quequ.addLast(new Postion(startX,startY));
		 while(!quequ.isEmpty()
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值