Hvordan Reverse en kø i C ++

Køen er en metode programmerere brukes til å lagre data. En kø er en sekvens av data som følger regelen "først inn, først ut." Den har en front og en rygg. Elementer er lagt til baksiden og fjernet fra forsiden. Det er veldig mye som en linje av mennesker venter på en bank teller. En god måte å øve på C ++ programmering ferdigheter er å skrive et program som reverserer en kø.

Bruksanvisning

1 Laste C IDE ved å klikke på programikonet. Når den åpnes, velger du "Fil / Ny / Project" og velg "C Project" for å opprette en ny C-prosjekt. En tom kildekoden filen vises i teksteditor del av IDE.

2 Importer bibliotekene "iostream", "kø" og "cstdio" ved å skrive følgende linjer med kode på toppen av kildekoden filen:

inkluderer <iostream> inkluder <køen> inkluder <cstdio>

bruker namespace std;

3 Lage en funksjon som vil reversere innholdet i køen. Funksjonen tar to argumenter: køen du ønsker å reversere, og en kø som vil lagre reversert innhold. Du kan kalle disse køene "forover" og "bakover", henholdsvis. Å erklære funksjonen, skriver følgende linje med kode:

ugyldig qReverse (kø <int> erne kø <int> & bakover) {}

4 Lag en "hvis" statement innenfor klammeparenteser av "qReverse" -funksjonen. Denne "hvis" statement vil utføre når "forover" kø inneholder elementer:

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

5 Erklære en int variabel kalt "x" og tilordne den første verdien av "forwards" køen, ved å skrive inn følgende linje innenfor klammeparenteser i "hvis" statement:

int x = forwards.front();

6 Ta det første elementet fra "forwards" køen ved å skrive inn følgende linje igjen i løpet av de klammeparentes av "hvis" statement:

forwards.pop();

7 Foreta en rekursive kall til funksjonen qReverse. Rekursive funksjonskall oppstå når du utfører en funksjon fra i seg selv. Ved å ringe qReverse rekursivt, vil du laste opp "baklengs" kø i motsatt rekkefølge av "fremover" køen. Skriv følgende uttalelse innenfor klammeparenteser i "hvis" statement:

qReverse(forwards, backwards);

8 Trykk elementet lagret i variabelen "x" i baklengs køen. Fordi denne uttalelsen skjer etter den rekursive funksjonskall, er det siste elementet av "forwards" kø dyttet inn i "baklengs" køen først. Skriv følgende uttalelse innenfor klammeparenteser i "hvis" statement:

backwards.push(x);

9 Lag en hovedfunksjon etter "}" brakett for både "hvis" statement og "qReverse" -funksjonen. Syntaksen ser slik ut:

int main () {}

10 Erklærer to køer: "forwardsQueue" og "backwardsQueue," ved å skrive følgende i løpet av de klammeparenteser av den viktigste funksjonen:

queue&lt;int> forwardsQueue, backwardsQueue;

11 Legg til elementer i "forwardsQueue" ved å skrive følgende uttalelser innenfor klammeparentes av den viktigste funksjonen:

forwardsQueue.push(1);

forwardsQueue.push (2);

forwardsQueue.push (3);

12 Lag et funksjonskall til "qReverse," og send den "forwardsQueue" og "backwardsQueue," ved å skrive følgende i løpet av de klammeparenteser av den viktigste funksjonen:

qPop(forwardsQueue, backwardsQueue);

1. 3 Skriv ut innholdet i "backwardsQueue" ved å skrive følgende utsagn, igjen innenfor klammeparentes av den viktigste funksjonen:

while( backwardsQueue.size() )

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

14 Kompilere og kjøre programmet ved å trykke på den grønne pilen nøkkelen ligger i øverste rad med knapper på IDE. Programmet skal skrive ut innholdet i "backwardsQueue", som ser slik ut:

3

2

1