fix binary tree inserts

This commit is contained in:
SowinskiBraeden committed 2026-02-13 09:45:43 -08:00
1 parent 063b00853d
commit cfb02eb5e3
2 files changed
+4

No files matched your search

+2
View File
@@ -17,6 +17,8 @@ let rec kvtree_insert ~cmp k v t =
Node (k', v', kvtree_insert ~cmp k v l, r) Node (k', v', kvtree_insert ~cmp k v l, r)
| Node (k', v', l, r) when cmp k k' > 0 -> | Node (k', v', l, r) when cmp k k' > 0 ->
Node (k', v', l, kvtree_insert ~cmp k v r) Node (k', v', l, kvtree_insert ~cmp k v r)
| Node (k', _, l, r) when cmp k k' = 0 ->
Node (k, v, l, r)
| _ -> t;; | _ -> t;;
(**/**)2 (**/**)2
+2
View File
@@ -45,6 +45,8 @@ module Make(Ord: OrderedType) = struct
N (k', v', insert k v l, r) N (k', v', insert k v l, r)
| N (k', v', l, r) when Ord.compare k k' > 0 -> | N (k', v', l, r) when Ord.compare k k' > 0 ->
N (k', v', l, insert k v r) N (k', v', l, insert k v r)
| N (k', _, l, r) when Ord.compare k k' = 0 ->
N (k, v, l, r)
| _ -> t;; | _ -> t;;
(** [find_opt k t] takes a key [k] and a kvtree [t] and returns (** [find_opt k t] takes a key [k] and a kvtree [t] and returns