Adloun

NSI (terminale) · Chapitre 1 · Exercice de TD

Convertir une file en pile

Structures de données linéaires · niveau 2

Énoncé

Convertir une file en pile.

On dispose d'une file (sous forme de deque). Écrire une fonction file_vers_pile(file) qui défile tous les éléments et les empile dans une pile (liste), puis renvoie cette pile. Quel est l'ordre obtenu au sommet ?

Corrigé


from collections import deque

def file_vers_pile(file):
    pile = []
    while len(file) > 0:
        x = file.popleft()    # on retire en tete de file (FIFO)
        pile.append(x)        # on empile (sommet = fin de liste)
    return pile

f = deque([1, 2, 3])          # tete = 1
p = file_vers_pile(f)
print(p)                      # [1, 2, 3]  -> sommet = 3

Les éléments sont défilés dans l'ordre puis empilés : le sommet de la pile devient le dernier défilé, soit . Le coût est .

100 % gratuit

Essaie le suivant avec le tuteur

Faire l'exercice suivant avec le tuteur

Sans compte : le cours, le premier QCM, 2 minutes de podcast et de vidéo et un exercice avec le tuteur. Pour tout le reste : inscription gratuite en 30 secondes, sans carte bancaire.

Le cours du chapitre · Tous les exercices du chapitre

Exercice suivant avec le tuteur →