Tecnología

Inicio

Cómo invertir una cola en C ++

La cola es un método programadores utilizan para almacenar datos. Una cola es una secuencia de datos que sigue la regla de "primero en entrar, primero en salir". Tiene un frente y una parte posterior. Los productos que se añaden a la parte posterior y se eliminan de la parte delantera. Es muy parecido a una cola de gente esperando para un cajero de banco. Una buena manera de practicar sus habilidades de programación C ++ es escribir un programa que invierte una cola.

Instrucciones

1 Cargar el IDE C haciendo clic en el icono del programa. Cuando se abre, seleccione "Archivo / Nuevo / Proyecto" y elegir la opción "Proyecto C" para crear un nuevo proyecto C. Un archivo de código fuente en blanco en la parte editor de texto de la IDE.

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

incluir <iostream> incluir <cola> incluir <cstdio>

using namespace std;

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

qReverse anular (cola <int> hacia delante, cola <int> & hacia atrás) {}

4 Crear un "if" dentro de los corchetes de la función "qReverse". Esta instrucción "if" se ejecutará cada vez que la cola "hacia delante" contiene artículos:

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

5 Declarar una variable llamada "x" int y asignarle el primer valor de la cola "hacia delante", escribiendo la siguiente línea dentro de los corchetes de la instrucción "if":

int x = forwards.front();

6 Eliminar el primer elemento de la cola "hacia delante" escribiendo la siguiente línea, de nuevo dentro de los corchetes de la instrucción "if":

forwards.pop();

7 Hacer una llamada recursiva a la función qReverse. llamadas a funciones recursivas se producen cuando se ejecuta una función desde dentro de sí mismo. Llamando qReverse de forma recursiva, se carga hasta la cola "hacia atrás" en el orden inverso de la cola "hacia delante". Escribe la siguiente declaración dentro de los corchetes de la instrucción "if":

qReverse(forwards, backwards);

8 Empujar el elemento almacenado en la variable "x" en la cola hacia atrás. Debido a que esta declaración se produce después de la llamada a la función recursiva, el último elemento de la cola "hacia delante" se empuja en la cola "hacia atrás" en primer lugar. Escribe la siguiente declaración dentro de los corchetes de la instrucción "if":

backwards.push(x);

9 Crear una función principal después de "}" soporte tanto del "if" y la función "qReverse". La sintaxis es la siguiente:

int main () {}

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

queue&lt;int> forwardsQueue, backwardsQueue;

11 Añadir artículos a la "forwardsQueue" escribiendo las siguientes declaraciones dentro de los corchetes de la función principal:

forwardsQueue.push(1);

forwardsQueue.push (2);

forwardsQueue.push (3);

12 Hacer una llamada a la función "qReverse," y enviarlo "forwardsQueue" y "backwardsQueue," escribiendo lo siguiente dentro de los corchetes de la función principal:

qPop(forwardsQueue, backwardsQueue);

13 Imprimir el contenido de la "backwardsQueue" escribiendo las siguientes afirmaciones, de nuevo dentro de los corchetes de la función principal:

while( backwardsQueue.size() )

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

14 Compilar y ejecutar el programa pulsando la tecla de la flecha verde que se encuentra en la fila superior de botones en el IDE. El programa imprime el contenido de "backwardsQueue", que se ve así:

3

2

1