Queue de List en c++

bozmin Messages postés 27 Statut Membre -  
Dalfab Messages postés 720 Statut Membre -
Bonjour

Comment puis je afficher tout le contenue de la queue "myQueue" en cas de contenu de type LIST ???
queue<list<int> >myQueue;
int p, im;
list<int>pair;
list<int>impair;
list<int>temp;
for(int i=0; i<5; i++){
    cout<<"Number pair : ";
      cin>>p;
     pair.push_back(p);
    cout<<"Number Impair:  ";
      cin>>im;
   pair.push_back(im);
}
myQueue.push(pair);
myQueue.push(impair);
myQueue.push(temp);


EDIT : Ajout des balises de code (la coloration syntaxique).
Explications disponibles ici : ICI

Merci d'y penser dans tes prochains messages.
A voir également:

1 réponse

Dalfab Messages postés 720 Statut Membre 101
 
Bonjour,

Un queue n'est pas du tout appropriée pour être listé.
Si c'est pour lister en debug un queue, on peut créer une classe dérivant de queue qui pourra accéder aux données internes. Ça n'est pas portable.
On peut sinon utiliser un deque (un queue est un deque duquel on a masqué des capacités et avec push_back() et pop_front() qui remplacent push() et pop().)
On pourra alors l'afficher par
for ( auto const& x : myQueue ) {
   cout << '{';
   copy( x.begin(), x.end(), ostream_iterator<int>( cout, "," ) );
   cout << '}';
}
0