| search_tree_insert(a; r, H) {if r = null then search_tree_mknode(null, a, null; r, H) else let r1 = r, r0 = null in while a ≠ H[r1].val do if a < H[r1].val then {if H[r1].left = null then {search_tree_mknode(null, a, null; r0, H); H := H[r1, H[r1].left:= r0]}; r1 := H[r1].left} else if H[r1].val < a then {if H[r1].right = null then {search_tree_mknode(null, a, null; r0, H); H := H[r1, H[r1].right:= r0]}; r1 := H[r1].right} } |