Opérations sur les Lists

Voici quelques opérations sur les lists.

Vous allez maintenant sûrement vous demander: à quoi servent les lists alors que l'on a déjà les vectors?

Tout d'abord, vous pouvez voir que contrairement à un vector, les lists "grandissent" par la gauche. Les nouvelles valeurs sont ajoutées au début, contrairement au vector où elles sont ajoutées à la fin.

De la même manière, les fonctions comme peek et pop retournent ici le premier élément de la liste.

Enfin, les lists ont des performances différentes des vectors. Par exemple, nth est très lent par rapport au get des vectors (vous pouvez voir les listes comme des listes chainées là où les vectors peuvent accéder à une valeur directement).

En général, vous utiliserez rarement les lists, sauf quand vous voulez une structure de données où les valeurs sont ajoutées ou supprimées au début. Les lists sont également utilisées pour écrire des macro, un sujet que nous découvrirons plus tard.

Précédent - Suivant -

;; add a value
(println (conj '(1 2 3) 4))

;; return the first value
(println (peek '(1 2 3)))

;; return a new list without the first value
(println (pop '(1 2 3)))

;; get the value at index n
(println (nth '(1 2 3) 2))

Powered by mcorbin - Available on Github