Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

212
Vistas
¿Qué tipo de estructura de datos de pila debo usar?

Estoy escribiendo un algoritmo que resuelve un laberinto y tengo un laberinto llamado char [] [] maze. Sus elementos ser como;

 {1,1,1,1,1,1, ..}, {1,0,1,0,1,1, ..}, {1,0,0,1,0,1, ..}, ...

Hay 13 Filas y 17 Columnas. Tengo que resolverlo usando la estructura de datos de fragmentos. Según el algoritmo que he configurado en mi mente, necesito almacenar los valores de índice de la ruta navegable en esta pila. Por ejemplo, según el laberinto anterior:

 0,0 0,1 0,2 0,3 0,4 1,4 1,5 2,5...

Solía mantener un número entero en mis ejemplos anteriores, así que usé una estructura como esta al implementar la construcción de pilas.

 public class Stack { int topOfStack; int capacity; int[] Stack; public Stack(int capacity) { this.capacity = capacity; Stack = new int[capacity]; topOfStack = -1; } void push(int element) { if(topOfStack == capacity){ System.out.println("Stack Overflow..."); } else{ topOfStack++; Stack[topOfStack] = element; } } }

Mi pregunta es exactamente esta. ¿Cómo puedo modificar esta estructura de pila para mi programa de resolución de laberintos? Si necesito volver a indicarlo, debo mantener las coordenadas o algo similar en la pila, no los números enteros. Muchas gracias.

over 4 years ago · Santiago Trujillo
2 Respuestas
Responde la pregunta

0

Puede crear un nuevo objeto de clase que se llame Coordenadas. Esta clase tendrá dos parámetros principales que son X e Y. Luego, puede hacer un atascado que se llene con este objeto de coordenadas en lugar de un entero simple.

El atascado que está construyendo puede ser genérico y contener estructuras más complejas que la básica y esto es lo que está buscando en este ejemplo.

over 4 years ago · Santiago Trujillo Denunciar

0

En pocas palabras , se podría usar una matriz 2D para almacenar las coordenadas:

 public class Stack { int topOfStack; int capacity; int[][] stack; public Stack(int capacity) { this.capacity = capacity; stack = new int[capacity][2]; topOfStack = -1; } void push(int x, int y) { if(topOfStack == capacity){ System.out.println("Stack Overflow..."); } else{ stack[++topOfStack] = new int[] { x, y }; } } int[] pop() { if (topOfStack < 0) { System.out.println("Stack is empty"); return null; } return stack[topOfStack--]; } }
over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda