De nombreux programmes doivent conserver des éléments dans un ordre précis, mais ils nécessitent également une règle déterminant quel élément pourra être retiré ensuite. Cette règle est importante car elle influe sur le comportement du code en situation de charge, sur la perception des délais par les utilisateurs ainsi que sur la facilité ou la difficulté de mise en œuvre de certaines fonctionnalités.
Pour mieux comprendre cette règle, examinez les scénarios réels suivants en vous concentrant sur la règle d’ordre appliquée dans chaque cas.
Une fois la règle identifiée, vous pouvez en prédire le comportement. Le bouton « Précédent » permet de revenir à la page la plus récente, car le système retire toujours l’élément le plus récent en premier ; à l’inverse, une file d’attente d’impression traite la tâche la plus ancienne en premier, car le système retire l’élément le plus ancien en premier.
Une pile (stack) retire en premier l’élément ajouté le plus récemment : c’est le principe du « dernier entré, premier sorti » (LIFO). Une file (queue) retire en premier l’élément ajouté le plus anciennement : c’est le principe du « premier entré, premier sorti » (FIFO).
Étudiez la comparaison côte à côte et observez quelle extrémité accepte les ajouts et laquelle permet les retraits.