ubiquitour.com

Como invertir una cola en C++

La cola es un método que los programadores utilizan para almacenar datos. Una cola es una secuencia de datos que sigue la regla "primero adentro, primero hacia fuera". Tiene un frente y una hacia atrás. Artículos se agregan a la parte posterior y quitados de la parte delantera. Es muy parecido a una línea de personas esperando un cajero de banco. Una buena forma de practicar sus habilidades de programación de C++ es escribir un programa que invierte una cola.

Instrucciones

1 Carga el IDE de C haciendo clic sobre el icono del programa. Cuando se abre, seleccione "Archivo/nuevo/proyecto" y elija "Proyecto C" para crear un nuevo proyecto de C. Un archivo de código fuente en blanco aparece en el editor de texto el IDE.

2 Importar las bibliotecas "iostream", "cola" y "cstdio" escribiendo las siguientes líneas de código en la parte superior del archivo de código fuente:

incluyen < iostream > incluyen cola de < > incluyen < cstdio > usar namespace std;

3 Crear una función que el contenido de la cola de la inversión. La función llevará a dos argumentos: la cola que desea invertir y una cola que va a almacenar el contenido invertido. Usted puede llamar a estas colas "forwards" y "hacia atrás", respectivamente. Para declarar la función, escriba la siguiente línea de código:

void qReverse (cola < int > remite, cola < int > y hacia atrás) {}

4 Crear una instrucción "if" dentro de las llaves de la función "qReverse". Esta instrucción "if" se ejecutará cada vez que la cola de "forwards" contiene elementos:

if(forwards.size() >= 1) {}5

Declarar una variable int llamada "x" y asignarle el primer valor de la cola de "forwards", escribiendo la siguiente línea dentro de las llaves de la instrucción "if":

int x = forwards.front();6

Eliminar el primer elemento de la cola "remite" escribiendo la línea siguiente, otra vez dentro de las llaves de la instrucción "if":

forwards.pop();7

Hacer una recursiva llamada a la función qReverse. Llamadas a funciones recursivas se producen al ejecutar una función desde dentro de sí mismo. Llamando al qReverse de forma recursiva, se carga la cola "al revés" en el orden inverso de la cola "remite". Escriba la siguiente instrucción dentro de las llaves de la instrucción "if":

qReverse(forwards, backwards);8

Empuje el elemento almacenado en la variable "x" en la cola hacia atrás. Debido a esta declaración se produce después de la llamada a la función recursiva, el último elemento de la cola de "forwards" se empuja primero en la cola "al revés". Escriba la siguiente instrucción dentro de las llaves de la instrucción "if":

backwards.push(x);9

Crear una función principal después de la "}" soporte de la instrucción "if" y la función de "qReverse". La sintaxis se ve así:

int main() {}

10 Declarar dos colas: "forwardsQueue" y "backwardsQueue", escribiendo lo siguiente dentro de las llaves de la función principal:

queue&lt;int> forwardsQueue, backwardsQueue;11

Agregar elementos a la "forwardsQueue" por las declaraciones siguientes dentro de las llaves de la función principal de la escritura:

forwardsQueue.push(1);

forwardsQueue.push(2);

forwardsQueue.push(3);12

Hacer una función llamada a "qReverse" y envíe "forwardsQueue" y "backwardsQueue", escribiendo lo siguiente dentro de las llaves de la función principal:

qPop(forwardsQueue, backwardsQueue);13

Imprimir el contenido de la "backwardsQueue" por las declaraciones siguientes, dentro de las llaves de la función principal de la escritura:

while( backwardsQueue.size() )

{ cout &lt;&lt; backwardsQueue.front() &lt;&lt; endl; backwardsQueue.pop(); }14

Compile y ejecute el programa presionando la tecla de la flecha verde situada en la fila superior de botones en el IDE. El programa imprime el contenido de "backwardsQueue", que se ve así:

3

2

1