STL : Afficher le contenu d'un stack

cs_UbuRoi Messages postés 11 Date d'inscription mercredi 10 septembre 2003 Statut Membre Dernière intervention 19 novembre 2003 - 18 nov. 2003 à 04:04
cs_Kaid Messages postés 949 Date d'inscription mardi 2 octobre 2001 Statut Membre Dernière intervention 8 juillet 2006 - 20 nov. 2003 à 20:58
J'ai essayé comme ça :
vector::iterator currentunit = UnitStack.top();
for (int i=0; iget_ID();
currentunit--;
}

Mais visiblement ça ne marche pas.

Une idée?
A voir également:

7 réponses

garslouche Messages postés 583 Date d'inscription mardi 26 novembre 2002 Statut Membre Dernière intervention 29 mai 2015 1
18 nov. 2003 à 09:06
Je ne connais pas STL mais traditionnellement top() donne l'éléement en haut de la pile, mais pour lire et retirer cet élément c'est pop() qu'il faut utiliser

On ne force pas une curiosité, on l'éveille.
.................................................Daniel Pennac
0
cs_UbuRoi Messages postés 11 Date d'inscription mercredi 10 septembre 2003 Statut Membre Dernière intervention 19 novembre 2003
18 nov. 2003 à 14:10
Le problème du pop c'est qu'il détruit l'original.

Finalement le plus simple c'est encore de faire:
stack temp(UnitStack);

Par contre ça peut consommer beaucoup de temps de calcul.
0
cs_Kaid Messages postés 949 Date d'inscription mardi 2 octobre 2001 Statut Membre Dernière intervention 8 juillet 2006 1
19 nov. 2003 à 20:54
Essaye ca:

for(vector::iterator currentunit = UnitStack.begin() ; currentunit != UnitStack.end() ; currentunit++)
{
(*it)->get_ID();
}


Kaid - kaid.fr.st
0
cs_UbuRoi Messages postés 11 Date d'inscription mercredi 10 septembre 2003 Statut Membre Dernière intervention 19 novembre 2003
19 nov. 2003 à 22:15
y a pas de fonction begin et end avec les stack. Seulement une fonction top.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_Kaid Messages postés 949 Date d'inscription mardi 2 octobre 2001 Statut Membre Dernière intervention 8 juillet 2006 1
19 nov. 2003 à 22:19
Dans ton premier post, dans le code, tu as bien mis vector et non stack, non ?
Sinon remplace ton stack par une deque, push() par push_back(), pop() par pop_back(), ..,. .

Kaid - kaid.fr.st
0
cs_UbuRoi Messages postés 11 Date d'inscription mercredi 10 septembre 2003 Statut Membre Dernière intervention 19 novembre 2003
19 nov. 2003 à 22:32
ct currentunit qui était un vector.

Je préfère garder le stack car g besoin qu'il soit first-in-last-out.
0
cs_Kaid Messages postés 949 Date d'inscription mardi 2 octobre 2001 Statut Membre Dernière intervention 8 juillet 2006 1
20 nov. 2003 à 20:58
Si tu utilises push_back() et pop_back() sur un objet deque c'est EXACTEMENT la même chose que faire push() et pop() sur un objet stack.

Kaid - kaid.fr.st
0
Rejoignez-nous