Les files d'attente sont généralement frustrantes dans la vraie vie, mais dans un programme informatique, elles peuvent résoudre de nombreux problèmes. Découvrez ce que vous pouvez faire avec une file d'attente et comment.

La file d'attente est une structure de données polyvalente que vous pouvez utiliser dans divers contextes. Des algorithmes de planification du processeur aux applications Web, on le trouve partout.

Si vous vous efforcez d'être un développeur Python, il est essentiel que vous vous familiarisiez avec cette structure de données simple mais omniprésente. Apprenons ce qu'est la structure de données de la file d'attente et comment en implémenter une en Python.

Qu'est-ce que la structure des données de la file d'attente?

Crédit d'image: Wikipédia

Une file d'attente est une structure de données linéaire, qui suit le principe du premier entré, premier sorti (FIFO). Cela signifie que, lorsque vous récupérez un élément d'une file d'attente, vous obtenez celui que vous avez ajouté avant les autres.

instagram viewer

Voici les opérations de base que vous pouvez effectuer sur une file d'attente :

  • Mettre en file d'attente: ajoutez des éléments à la file d'attente.
  • Retirer de la file d'attente: supprimer des éléments de la file d'attente.
  • Imprimer: imprime les éléments de la file d'attente.
  • Avant: Récupère l'élément au début de la file d'attente.
  • Arrière: récupère l'élément à l'arrière de la file d'attente.

Vous pouvez implémenter la structure de données de la file d'attente en Python de deux manières: en utilisant soit un conteneur de liste, soit une file d'attente à double extrémité du module collections. Pour ce programme, vous utiliserez une liste.

Comment implémenter la structure de données de file d'attente en Python

Vous implémenterez une file d'attente à l'aide du conteneur de liste en Python. Commencez par déclarer une liste vide avec le nom file d'attente.

file d'attente = []

Vous devez maintenant accepter la saisie de l'utilisateur et effectuer l'opération saisie par l'utilisateur. Tout d'abord, imprimez une ligne invitant l'utilisateur à saisir une commande. Ensuite, attendez l'entrée de l'utilisateur et stockez-la dans le commande variable.

En utilisant Python si instructions, effectuez l'opération correspondant à la commande saisie par l'utilisateur. S'ils entrent une commande non reconnue, quittez le programme. Mettez ces opérations à l'intérieur d'un infini boucle while pour s'assurer que le programme continue de fonctionner jusqu'à ce qu'il quitte.

alors queVrai:
commande = entrée("Qu'est-ce que vous voulez faire? ")

si commande == "mettre en file d'attente":
# code
elif commande == « retirer de la file d'attente »:
# code
autre:
casser

file d'attente d'impression)

Mettre en file d'attente

Maintenant que vous avez traité le flux de contrôle principal du programme, vous pouvez définir le bloc de code pour chaque opération. Tout d'abord, écrivez le code pour enqueue. Mettre en file d'attente signifie insérer un élément à la fin de la file d'attente. Vous pouvez le faire en utilisant le ajouter() méthode:

sicommande == "mettre en file d'attente":
mettre en file d'attente = entier(saisir("Entrez l'élément à mettre en file d'attente: "))

Retirer de la file d'attente

Maintenant, écrivez le code pour retirer un élément de la file d'attente. Vous pouvez le faire en utilisant la méthode pop avec 0 comme index. Pourquoi? Comme vous l'avez appris précédemment, une file d'attente suit l'ordre FIFO, donc le premier élément que vous mettez en file d'attente doit être le premier élément que vous retirez de la file d'attente.

si commande == « retirer de la file d'attente »:
queue.pop(0)

Devant

Ensuite, écrivez le code pour imprimer l'élément au début de la file d'attente. Imprimez simplement le 0ème index de la file d'attente.

si commande == "devant":
file d'attente d'impression[0])

Arrière

Tout comme le code pour l'opération avant, pour effectuer l'opération arrière, imprimez l'élément au dernier index. Pour ce faire, utilisez d'abord la fonction len() sur la file d'attente, puis soustrayez-y 1 pour trouver le dernier index.

si commande == "arrière":
print (file d'attente[len (file d'attente) - 1])

Imprimer

Enfin, écrivez le code de la commande d'impression. Imprimez simplement la liste en utilisant la norme Python imprimer() fonction.

si commande == "imprimer":
file d'attente d'impression)

Si le texte saisi par l'utilisateur ne correspond pas à une commande prise en charge, sortez de la boucle while à l'aide d'une instruction break. Le code final devrait ressembler à ceci :

file d'attente = []

alors queVrai:
commande = entrée("Que voulez-vous faire ?\n")

si commande == "mettre en file d'attente":
mettre en file d'attente = int (entrée("Entrez l'élément à mettre en file d'attente: "))
queue.append (mettre en file d'attente)
elif commande == « retirer de la file d'attente »:
queue.pop(0)
elif commande == "imprimer":
file d'attente d'impression)
elif commande == "devant":
file d'attente d'impression[0])
elif commande == "arrière":
print (file d'attente[len (file d'attente)-1])
autre:
casser

file d'attente d'impression)

Exécutez le programme pour tester les différentes opérations de file d'attente. Utilisez la commande d'impression pour voir comment ils affectent votre file d'attente. Vous avez maintenant créé votre propre implémentation de file d'attente simple en Python.

La file d'attente n'est qu'une des nombreuses structures de données utiles

Le concept de structure de données est un concept essentiel que tout étudiant en informatique doit maîtriser. Il y a de fortes chances que vous ayez déjà appris ou travaillé avec certaines structures de données de base telles que des tableaux ou des listes.

Les enquêteurs ont également tendance à poser des questions liées aux structures de données, donc si vous cherchez à décrocher un travail de programmation bien rémunéré, vous devrez rafraîchir vos connaissances sur les structures de données.