Adloun

NSI (terminale) · Chapitre 1 · Exercice de TD

Inverser une liste à l'aide d'une pile

Structures de données linéaires · niveau 2

Énoncé

Inverser une liste à l'aide d'une pile.

En utilisant uniquement les opérations d'une pile (empiler / dépiler), écrire une fonction inverser(liste) qui renvoie une nouvelle liste contenant les éléments dans l'ordre inverse.

Corrigé

L'idée exploite le caractère LIFO de la pile : en empilant tous les éléments puis en les dépilant, on obtient l'ordre inverse.


def inverser(liste):
    pile = []                  # une pile (liste Python)
    for valeur in liste:
        pile.append(valeur)    # on empile tout
    resultat = []
    while len(pile) > 0:
        resultat.append(pile.pop())  # on depile : ordre inverse
    return resultat

# Test
print(inverser([1, 2, 3, 4]))   # [4, 3, 2, 1]

Chaque élément est empilé puis dépilé une fois : 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 →