Queue de List en c++

bozmin Messages postés 21 Date d'inscription   Statut Membre Dernière intervention   -  
Dalfab Messages postés 706 Date d'inscription   Statut Membre Dernière intervention   -
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 706 Date d'inscription   Statut Membre Dernière intervention   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