La file d'attente est une méthode programmeurs utilisent pour stocker des données . Une file d'attente est une séquence de données qui suit la règle " premier entré, premier sorti ». Il a un avant et un arrière . Les éléments sont ajoutés à l'arrière et retirées par l'avant. Il est très semblable à une ligne de personnes en attente d'un caissier de banque . Une bonne façon de mettre en pratique vos compétences en programmation + + C est d'écrire un programme qui renverse une file d'attente . Choses que vous devez
C + + environnement de développement intégré (IDE ), tels que Eclipse CDT
C + + Compiler , comme GCC
Afficher plus Instructions
1
charge l' C IDE en cliquant sur son icône du programme. Quand il s'ouvre, sélectionnez "Fichier /Nouveau /Projet " et choisissez " Projet C " pour créer un nouveau projet C . Un fichier de code source vide apparaît dans la partie éditeur de texte de l'IDE.
2
Importer les bibliothèques " iostream ", " file d'attente " et " cstdio " en écrivant les lignes de code suivantes dans le haut de le fichier de code source :
# include
# include
# include
using namespace std ;
3
créer une fonction qui va renverser le contenu de la file d'attente. La fonction prend deux arguments: la file d'attente que vous souhaitez inverser , et une file d'attente qui va stocker le contenu inversées. Vous pouvez appeler ces files d'attente " avant" et " arrière ", respectivement . Pour déclarer la fonction , écrire la ligne de code suivante:
qReverse vide ( file d'attente avant, queue & arrière) {}
4
Créer un «si " déclaration dans les accolades de la fonction" qReverse " . Cette "if" exécute chaque fois que la file d'attente " avant" contient des éléments :
if ( forwards.size () > = 1) {}
5
déclarer une variable int nommé «x» et attribuez-lui la valeur première de la file d'attente " avant" , en écrivant la ligne suivante dans les accolades de l' instruction "if" :
int x = forwards.front (); < br > Photos 6
supprimer le premier élément de la file d'attente " avant" en écrivant la ligne suivante , toujours dans les accolades de l' instruction "if" :
forwards.pop (); < br > Photos 7
Faire un appel récursif à la fonction qReverse . Appels de fonctions récursives se produisent lorsque vous exécutez une fonction au sein de lui-même. En appelant qReverse récursive , vous allez charger la file d'attente "à l'envers " dans l'ordre inverse de la file d'attente " avant" . Ecrire la déclaration suivante à l'intérieur des accolades de l' instruction "if" :
qReverse ( avant, arrière ) ;
8
Poussez l'élément stocké dans la variable "x" dans l' arrière la file d'attente . Parce que cette déclaration intervient après l'appel de fonction récursive , le dernier élément de la file d'attente " avant" est poussé dans la file d'attente "à l'envers " en premier. Ecrire la déclaration suivante à l'intérieur des accolades de l' instruction "if" :
backwards.push (x);
9
créer une fonction principale après le "}" support à la fois le "if" et la fonction " qReverse " . La syntaxe ressemble à ceci:
int main () {}
10
déclarer deux files d'attente : « forwardsQueue " et " backwardsQueue , " par écrit ce qui suit dans les accolades de l' fonction principale :
file forwardsQueue , backwardsQueue ;
11
ajouter des éléments à la " forwardsQueue " par écrit les déclarations suivantes dans les accolades de la fonction principale : < br >
forwardsQueue.push (1);
forwardsQueue.push (2);
forwardsQueue.push (3);
12
Faire une fonction appeler à " qReverse , " et l'envoyer " forwardsQueue " et " backwardsQueue , " par écrit ce qui suit dans les accolades de la fonction principale :
qpop ( forwardsQueue , backwardsQueue ) ;
13
imprimer le contenu de la " backwardsQueue » en écrivant les énoncés suivants , toujours dans les accolades de la fonction principale :
while ( backwardsQueue.size ()) {cout
<< backwardsQueue.front () << endl; backwardsQueue.pop ();}
14
compiler et exécuter le programme en appuyant sur la flèche verte située sur la rangée supérieure de boutons sur l'IDE. Le programme imprime le contenu de " backwardsQueue ", qui ressemble à ceci:
3
2
1