Parcours
/
Factor
Factor
/
Exercices
/
Liste chaînée simple
Liste chaînée simple

Liste chaînée simple

Moyen

Introduction

Tu travailles pour une entreprise de streaming musical.

On t'a confié la création d'une fonctionnalité de playlist pour ton lecteur de musique.

Instructions

Écris le prototype d'une application de lecteur de musique.

Pour ce prototype, chaque chanson sera simplement représentée par un nombre. À partir d'une plage de nombres (les identifiants des chansons), crée une liste simplement chaînée.

À partir d'une liste simplement chaînée, tu dois pouvoir inverser la liste pour lire les chansons dans l'ordre inverse.

Note

La liste chaînée est une structure de données fondamentale en informatique, souvent utilisée pour implémenter d'autres structures de données.

Le type de liste chaînée le plus simple est la liste simplement chaînée. Cela signifie que chaque élément (ou « nœud ») contient une donnée, ainsi qu'une référence qui pointe vers le nœud suivant de la liste.

Si tu veux approfondir les listes chaînées, jette un œil à cet article qui les explique à l'aide de jolis schémas.

Mots

Définis un tuple linked-list-node.

Définis un tuple linked-list et fournis une méthode M: linked-list length (de sequences) pour que les tests puissent appeler length directement sur ta liste.

  • <linked-list> ( -- linked-list ) construit une liste vide.
  • >linked-list ( seq -- linked-list ) empile chaque élément de seq sur une nouvelle liste, dans l'ordre.
  • linked-list>array ( linked-list -- array ) renvoie les valeurs, le sommet de la liste en premier.
  • list-push ( linked-list value -- linked-list ) empile une valeur au sommet.
  • list-pop ( linked-list -- linked-list value ) retire et renvoie la valeur du sommet.
  • list-peek ( linked-list -- value ) renvoie la valeur du sommet sans la retirer.
  • list-reverse ( linked-list -- linked-list ) renvoie une liste avec les éléments dans l'ordre inverse.

Lance une classe d'erreur list-empty depuis list-pop et list-peek quand la liste est vide.

Modifie via GitHub Le lien s'ouvre dans une nouvelle fenêtre ou un nouvel onglet
Factor Exercism

Prêt à commencer Liste chaînée simple ?

Inscris-toi sur Exercism pour apprendre et maîtriser Factor avec 47 concepts163 exercices, et un vrai mentorat humain, le tout gratuitement.