Soit une file Queue1 avec des objets 4 3 2 1.
j'aimerais inverser Queue1 de manière à avoir dans la file 1 2 3 4.

Avec un stylo bic rouge et du papier A4 J'ai réussi a trouver une solution assez barbare en utilisant 3 files temporaires.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
 
            while (patches.Count > 0)
            {
                while (temp2.Count > 0)
                    temp1.Enqueue(temp2.Dequeue());
 
                temp2.Enqueue(patches.Dequeue());
                while (temp1.Count > 0)
                {
                    temp2.Enqueue(temp1.Dequeue());
                }
            }
mais je voudrais quelque chose de plus rapide ou sinon moins gourmand en mémoire, car s'il y a beaucoup d'objets dans la file ...

EDIT : Je viens de voir un truc surprenant, soit le VC# est malade soit c'est moi qui comprend pas le concept.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
            patches = temp2;
            temp1.Clear(); temp2.Clear();
Le contenu de l'entité objet de type Queue temp2 sont assigné a l'entité objet de type patches.
l'entité UNIQUE séparée objet de type Queue temp2 est vidée de son contenue. Ma Queue patches s'est aussi vidée ...