Listas como pilhas em Clojure
Devido à sua natureza de crescimento no topo/frente, as listas em Clojure podem ser utilizadas eficientemente como estruturas de Pilha (Stack).
Operações de Pilha
As operações de pilha em Clojure permitem interagir com o “topo” da lista de forma performática.
-
Peek: A funçãopeekretorna o elemento que está no topo da pilha (o primeiro da lista) sem removê-lo. -
Pop: A funçãopopretorna uma nova lista sem o elemento do topo. -
Conj: Para adicionar elementos ao topo da pilha, utiliza-se a funçãoconj, que em listas insere sempre na frente (topo).
(def pilha '(:a :b :c))
(peek pilha)
;; => :a
(pop pilha)
;; => (:b :c)
(conj pilha :d)
;; => (:d :a :b :c)
Referências
https://clojure.org/guides/learn/sequential_colls#_stack_access