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
- L'exercice suivant avec le tuteur, sans compte : il guide pas à pas, sans donner la réponse
- 8 autres exercices corrigés dans ce chapitre
- Les 2 QCM du chapitre, le premier sans compte
- Le podcast et la vidéo du chapitre : 2 minutes d'écoute sans compte
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.