Si l'exemple classique de tri par file de priorité est le tri par tas, on peut aussi classifier d'autres tris usuels comme tri par file de priorité comme le tri par insertion, le tri par sélection ou encore le tri rapide.
Principe
Une fois que l'on dispose d'une file de priorité, on dispose alors des opérations enfiler, défiler et est_vide[2].
Pour trier une collection d'éléments, on va alors itérer une première fois la collection des éléments à trier pour les enfiler dans la file de priorité. Ensuite, tant que la file de priorité n'est pas vide (avec est_vide) on peut en défiler les éléments dans l'ordre triés.
Pseudo-code
Tri par file de priorité
Entrée = Un ensemble d'éléments E muni d'un ordre total < Sortie = Une liste d'éléments triés selon <
fonction tri_file_priorité (E) : P une file de priorité initialement vide L une liste initialement vide tantque E non vide : e <- retirer élément de E enfiler e dans P tantque P non vide : e <- défiler P ajoute e à L renvoyer L
Si la file de priorité est implémentée par une liste triée, le tri par file de priorité associée revient au tri par insertion[1].
En effet, enfiler un élément revient à une opération d'insertion du tri par insertion. La seconde boucle pour defiler n'est pas nécessaire comme l'on peut renvoyer la file de priorité elle-même qui est la liste triée.
Si la file de priorité est implémentée par une liste quelconque, le tri par file de priorité associée revient au tri par sélection[1].
En effet, la file de priorité est la liste d'élément elle-même. La première boucle pour enfiler les éléments n'est pas nécessaire. La seconde, qui consister à défiler les éléments un par un, reviens à l'opération de sélection des éléments du tri par sélection.