Kön är en metod programmerare använder för att lagra data . En kö är en sekvens av data som följer regeln " först in, först ut . " Den har en framsida och en baksida . Objekt läggs till på baksidan och bort från fronten . Det är väldigt mycket som en rad av människor som väntar på en bank teller . Ett bra sätt att öva ditt C + + programmering färdigheter är att skriva ett program som vänder en kö . Saker du behöver
C + + Integrated Development Environment ( IDE ) , t.ex. Eclipse CDT
C + + kompilator , såsom GCC
Visa fler instruktioner
1
Ladda C IDE genom att klicka på dess programikon . När det öppnas , välj " Arkiv /Nytt /Project " och välj " C-projekt " för att skapa ett nytt C-projekt . En tom källkod filen visas i textredigeraren delen av IDE .
2
Importera biblioteken " iostream ", " kön " och " cstdio " genom att skriva följande kodrader i toppen av källkoden filen :
# include
# include
# include
using namespace std , Addera 3
Skapa en funktion som kommer att vända innehållet i kö . Funktionen tar två argument : det kön du vill vända , och en kö som kommer att lagra de omvända innehållet . Du kan kalla dessa köer " framåt " och " bakåt " resp . För att förklara funktionen , skriv följande kodrad :
void qReverse ( kö framåt , kö & bakåt ) { }
4 Skapa ett " om " uttalande inom klamrarna i " qReverse " funktionen . Detta " om " uttalande ska köras när " framåt " kö innehåller objekt:
p Om ( forwards.size ( ) > = 1 ) { }
5
Deklarera en int variabel heter " x " och tilldela det första värdet av " framåt " kön , genom att skriva följande rad inom klammerparenteser av " om " uttalande :
int x = forwards.front ( ) ;
6
Ta bort den första posten från " framåt " kö genom att skriva följande rad , igen inom klamrarna i " om " uttalande :
forwards.pop ( ) ;
7
Gör ett rekursivt anrop till funktionen qReverse . Rekursiv funktion samtal uppstår när du utför en funktion inifrån sig själv . Genom att ringa qReverse rekursivt , kommer du laddar upp den " baklänges " kö i omvänd ordning för " framåt " kö . Skriv följande uttalande inom klammerparenteser av " om " uttalande :
qReverse ( framåt, bakåt ) ,
8
Skjut posten lagras i variabeln " x " i det bakåt kö . Eftersom detta uttalande sker efter det rekursiva funktionsanrop , är den sista posten av " framåt " kö skjuts in i " baklänges " kö först . Skriv följande uttalande inom klammerparenteser av " om " uttalande :
backwards.push ( x ) ,
9
Skapa en huvudfunktion efter " } " fäste för både "om" uttalande och " qReverse " funktionen . Syntaxen ser ut så här :
int main ( ) { }
10
Deklarera två köer : " forwardsQueue " och " backwardsQueue , " genom att skriva följande inom klammerparenteser av huvudsakliga funktion :
kö forwardsQueue , backwardsQueue ,
11 Lägg till objekt i " forwardsQueue " genom att skriva följande uttalanden inom klamrarna i huvudfunktionen :
forwardsQueue.push ( 1 ) ;
forwardsQueue.push ( 2 ) ;
forwardsQueue.push ( 3 ) ;
12
Gör en funktion ringa till " qReverse , " och skicka den " forwardsQueue " och " backwardsQueue , " genom att skriva följande inom klammerparenteser av huvudfunktionen :
qPop ( forwardsQueue , backwardsQueue ) ;
13
Skriv ut innehållet i " backwardsQueue " genom att skriva följande påståenden , igen inom klamrarna i den huvudfunktion :
samtidigt ( backwardsQueue.size ( ) ) katalog
{ cout < 14 Kompilera och kör programmet genom att trycka på den gröna pilknappen ligger på översta raden av knappar på IDE . Programmet skriver ut innehållet i " backwardsQueue , " som ser ut så här :
3
2 Review
1