Comment mettre en œuvre file d'attente de priorité dans la programmation en C?

J'ai besoin d'implémenter une file d'attente de priorité dans la programmation en C à l'aide seule liste liée.

Je n'ai pas une idée claire au sujet de la priorité de la file d'attente. J'ai cherché sur google mais n'ai pas bien compris ce que j'ai trouvé. Ma compréhension est que l'une des priorités de la file d'attente est une file d'attente dont les éléments sont classés par ordre de priorité. Les Insertions dans la liste sont positionnés dans la liste sur la base de l'élément priorités.

Permet de dire,nous avons scénario suivant. (Note : je suppose, valeur la plus élevée va de pair avec de plus forte priorité):

Element-->2 (priority=2)  (Now in position 0)

Si un autre élément doit être inséré, dire Element-->3 (priority=3) qui a une priorité plus élevée.

Je peux déplacer l'élément précédent, Element-->2 (priority=2), et insérer ce nouveau Element-->3 (priority=3) à la position 0 avec Element-->2 (priority=2) déplacé à la position 1 dans la liste.

Maintenant, la liste devient,

Element-->3 (priority=3) followed by Element-->2 (priority=2)

De même, sur la base de l'insertion, dois-je décaler tous les éléments dans la liste?

Est-ce correct?

So far So good -- avez-vous obtenu coincé avec votre mise en œuvre?
il suffit de parler,lorsqu'il a à opérer sur la liste, il prend l'élément avec la plus haute priorité à opérer sur...comment vous faites cela dépend si vous placez la priorité la plus élevée de l'élément à la liste avant ou vous placer dans le tas avant(si vous utilisez un segment de mémoire)...

OriginalL'auteur Dinesh | 2011-11-24