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?
Réponse
Trop de publicités?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
- Réponses précédentes
- Plus de réponses