fix binary tree inserts
This commit is contained in:
2 files changed
+4
No files matched your search
@@ -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', l, r) when cmp k k' > 0 ->
|
||||
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;;
|
||||
|
||||
(**/**)2
|
||||
|
||||
@@ -45,6 +45,8 @@ module Make(Ord: OrderedType) = struct
|
||||
N (k', v', insert k v l, r)
|
||||
| N (k', v', l, r) when Ord.compare k k' > 0 ->
|
||||
N (k', v', l, insert k v r)
|
||||
| N (k', _, l, r) when Ord.compare k k' = 0 ->
|
||||
N (k, v, l, r)
|
||||
| _ -> t;;
|
||||
|
||||
(** [find_opt k t] takes a key [k] and a kvtree [t] and returns
|
||||
|
||||
Reference in new issue
Block a user