12 votes

Comment insérer des éléments dans une file d'attente en C#

En C#, j'utilise une collection Queue. Je peux facilement Enqueue ou Dequeue. D'accord, maintenant j'aimerais insérer quelque chose au milieu de la file d'attente ou au début de la file d'attente. Je ne trouve aucune méthode pour faire cela. Que recommandez-vous comme collection alternative?

0voto

ToolmakerSteve Points 762

Si vous voulez insérer au "milieu" d'une file d'attente, vous pourriez être à la recherche d'une "File d'attente prioritaire".

Malheureusement, cela n'est pas une classe .Net intégrée, à ma connaissance. Mais au moins maintenant vous avez un nom de concept, à rechercher.

Consultez cette Q&R (fermée) pour quelques liens potentiellement utiles:
File d'attente prioritaire en .Net

En citant la question là-bas:

Les files d'attente prioritaires sont des structures de données qui offrent plus de flexibilité que le simple tri, car elles permettent à de nouveaux éléments d'entrer dans un système à des intervalles arbitraires. Il est beaucoup plus rentable d'insérer un nouvel emploi dans une file d'attente prioritaire que de tout reclasser à chaque arrivée.

La file d'attente prioritaire de base prend en charge trois opérations principales:

  • Insertion(Q,x). Étant donné un élément x avec la clé k, insérez-le dans la file d'attente prioritaire Q.
  • Recherche-min(Q). Renvoie un pointeur vers l'élément dont la valeur de clé est plus petite que toute autre clé dans la file d'attente prioritaire Q.
  • Suppression-min(Q). Supprime l'élément de la file d'attente prioritaire Q dont la clé est minimale

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X