Red de conocimiento informático - Programación de la red - ¡¡¡Pido un diseño de curso de estructura de datos para el camino más corto en el laberinto!!!!!!

¡¡¡Pido un diseño de curso de estructura de datos para el camino más corto en el laberinto!!!!!!

Las ideas básicas son: 1. Después de ingresar al laberinto desde la entrada, no importa dónde se encuentre en el laberinto, primero debe ir hacia el este. Si puede ir hacia el este, puede continuar hacia el este. Si no puede ir hacia el este en una posición determinada, puede hacerlo. intenta ir hacia el sur, luego hacia el sur, hacia el oeste y el norte, y continúa hacia adelante en una dirección factible hasta la salida;

2. Si no hay manera de ir en cuatro direcciones en una posición determinada, regrese a la posición anterior e intente nuevamente en otra dirección. Si no hay ninguna dirección para intentar en esta posición, retroceda otro paso en las cuatro direcciones. las posiciones que he superado son que he probado en todas las direcciones, e incluso después de retirarme al punto de partida y aún no despejarlo, significa que este laberinto no es accesible en absoluto.

Si la posición actual es; "accesible", luego incluya el camino y continúe avanzando;

Si la ubicación actual es "intransitable", regrese, cambie de dirección y continúe explorando;

Si hay " sin acceso", luego elimine la ubicación actual de la ruta. Solo tengo el algoritmo (usando la pila): establecer el valor inicial de la posición actual como la posición de entrada

do{

Si la posición actual es accesible,

Luego {Inserte la posición actual en la parte superior de la pila;

Si la posición es la posición de salida, el algoritmo finaliza

De lo contrario, cambie el bloque adyacente este; de la posición actual a

Nueva posición actual }

De lo contrario { ......}

} while (la pila no está vacía);

Si la pila no está vacía y hay otras direcciones en la parte superior de la pila que no han sido exploradas.

Entonces establezca la nueva posición actual en: el siguiente bloque adyacente de la parte superior de la pila se encuentra girando en el sentido de las agujas del reloj;

Si la pila no está vacía pero los alrededores de la posición superior de la pila son inalcanzables,

entonces {elimine la posición superior de la pila; // elimina el bloque de canal de la ruta

Si la pila no está vacía, vuelve a probar la nueva posición superior de la pila,

hasta que se encuentre un bloque adyacente transitable. o la pila se vacía;

Si la pila está vacía, significa que no hay camino en el laberinto. ¡Escribe tú mismo el programa específico! ¡Gracias!