Cómo implementar una cola usando dos pilas

Escrito por rock owens | Traducido por beatriz sánchez
  • Comparte
  • Twittea
  • Comparte
  • Pin
  • E-mail
Cómo implementar una cola usando dos pilas
Implementar una cola con dos pilas es sencillo. (Ablestock.com/AbleStock.com/Getty Images)

Una cola es una estructura de datos dinámica desde la que puedes acceder a los datos en un proceso "el primero que entra es el primero que sale". Una pila es una estructura de datos dinámica desde la que puedes acceder a los datos en un proceso "el último en entrar es el primero en salir". Si implementas una pila, sólo el último elemento introducido en ella estará disponible. Si quieres conseguir el dato que está en la parte inferior de la pila (el primer elemento que metes en la pila), estarás tratando la pila como una cola. Para hacer esto, debes implementar una segunda pila.

Nivel de dificultad:
Moderadamente difícil

Otras personas están leyendo

Necesitarás

  • Un editor de texto
  • Un compilador de lenguaje de programación de computadora o intérprete

Lista completaMinimizar

Instrucciones

    Dos pilas son lo mismo que una cola

  1. 1

    En tu editor de texto, escribe el código para implementar una pila según los procedimientos y funciones disponibles en el lenguaje de programación que quieres usar. Llama a esta pila In_Stack. Coloca tus datos en In_Stack (muchos lenguajes de programación usan el comando "push" para añadir datos a una pila). Por ejemplo, apila en In_Stack los siguientes datos en este orden: "A", después "B" y después "C". "A" es el primero y está al final de la pila. Si quieres acceder al primer elemento, tratas los datos como una cola.

  2. 2

    Escribe el código para implementar una segunda pila según los procedimientos y funciones disponibles en el lenguaje de programación que quieres usar. Llama a esta pila Out_Stack (muchos lenguajes de programación usan el comando "pop" para sacar datos a una pila).

  3. 3

    Saca cada elemento de In_Stack y colócalo en Out_Stack. En términos generales, puedes sacar un objeto de In_Stack, y meterlo en Out_Stack. Después compruebas si In_Stack está vacía. Si no está vacía, saca el siguiente objeto de In_Stack y mételo en Out_Stack. Repite hasta que In_Stack esté vacía. En nuestro ejemplo, saca "C" de In_Stack y mételo en Out_Stack. Comprueba si In_Stack está vacía. Saca "B" de In_Stack y mételo en Out_Stack. Comprueba si In_Stack está vacía. Saca "A" de In_Stack y mételo en Out_Stack. Comprueba si In_Stack está vacía.

  4. 4

    Cuando In_Stack esté vacía, el objeto que estaba en la parte inferior de In_Stack ("A" en nuestro ejemplo) estará en la parte superior de Out_Stack. Saca el objeto de Out_Stack, y habrás transformado tu pila en una cola. Tu primer objeto en la pila será ahora el primero en salir (FIFO).

Consejos y advertencias

  • La mayoría de los lenguajes de programación tienen funciones para tratar datos en vectores como pila o como cola. Esto quiere decir que puedes acceder al final de un vector independientemente del extremo en el que añadas los datos. Si tus datos están en un vector, no tienes que preocuparte por acceder a ellos como una pila o como una cola. Pero si tus datos están en una pila dinámica y quieres tratarlos como en una cola, debes implementar la segunda pila.

No dejes de ver

Filtrar por:
  • Mostrar todos
  • Artículos
  • Galerías de fotos
  • Videos
Ordenar:
  • Más relevante
  • Más popular
  • Más reciente

No se encuentran artículos disponibles

No se encuentran slideshows disponibles

No se encuentran videos disponibles