Queue de List en c++

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.

1 réponse

  1. 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