Sha256: 301463f1572190f20c32f53e60dd109a863463c92e52db006efa2dea7ac4803b
Contents?: true
Size: 561 Bytes
Versions: 396
Compression:
Stored size: 561 Bytes
Contents
(ns binary-search-tree) (defn value [node] (first node)) (defn left [node] (second node)) (defn right [node] (last node)) (defn singleton [n] [n nil nil]) (defn insert [v node] (if (empty? node) (singleton v) (let [x (value node)] (if (>= x v) [x (insert v (left node)) (right node)] [x (left node) (insert v (right node))])))) (defn from-list [xs] (reduce #(insert %2 %1) nil xs)) (defn to-list [node] (if (empty? node) node (concat (to-list (left node)) [(value node)] (to-list (right node)))))
Version data entries
396 entries across 396 versions & 1 rubygems