Opérations sur les List

Voici quelques opérations sur les list.

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

Tout d'abord, vous pouvez voir que contrairement à un vector, les list "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 list ont des performances différentes des vector. Par exemple, nth est très lent par rapport au get des vector (vous pouvez voir les listes comme des listes chainées là où les vector peuvent accéder à une valeur directement).

En général, vous utiliserez rarement les list, sauf quand vous voulez une structure de données où les valeurs sont ajoutées ou supprimées au début. Les list 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