Prépa Code Connexion Inscription

Exercices de programmation pour classes préparatoires

← Retour aux exercices

File avec deux piles

python ★★★☆☆

Une file (FIFO) peut etre simulee a l'aide de deux piles (LIFO). L'astuce consiste a utiliser une pile pour les entrees et une pile pour les sorties : quand la pile de sortie est vide, on y transvase toute la pile d'entree, ce qui inverse l'ordre.

Ecrire une fonction file_ops(operations) qui prend une liste d'operations et renvoie la liste des valeurs renvoyees par les operations defiler.

Chaque operation est un tuple : - ("enfiler", valeur) : ajoute valeur en fin de file. - ("defiler",) : retire et renvoie l'element en tete de file.

On garantit qu'aucun defiler n'est appele sur une file vide.

Dans votre implementation, vous ne devez utiliser que les operations classiques d'une pile sur deux listes (append et pop() sans argument).

Exemples

AppelRésultat attendu
file_ops([('enfiler', 1), ('enfiler', 2), ('defiler',), ('defiler',)]) [1, 2]
file_ops([('enfiler', 1), ('defiler',), ('enfiler', 2), ('enfiler', 3), ('defiler',)]) [1, 2]

Votre code

Connectez-vous pour soumettre du code.