implement bin-vec (vector that always stores its elements in order, for binary search)

This commit is contained in:
2025-01-19 12:06:56 +00:00
parent 8c651b2221
commit 4459a676ac
3 changed files with 127 additions and 12 deletions

View File

@@ -6,12 +6,9 @@ struct
val mid = low + ((high - low) div 2)
val curNum = Vector.sub (vec, mid)
in
if curNum = findNum then
true
else if curNum < findNum then
helpExists (findNum, vec, mid + 1, high)
else
helpExists (findNum, vec, low, mid - 1)
if curNum = findNum then true
else if curNum < findNum then helpExists (findNum, vec, mid + 1, high)
else helpExists (findNum, vec, low, mid - 1)
end
else
false
@@ -25,12 +22,9 @@ struct
val mid = low + ((high - low) div 2)
val curNum = Vector.sub (vec, mid)
in
if curNum = findNum then
mid
else if curNum < findNum then
helpFind (findNum, vec, mid + 1, high)
else
helpFind (findNum, vec, low, mid - 1)
if curNum = findNum then mid
else if curNum < findNum then helpFind (findNum, vec, mid + 1, high)
else helpFind (findNum, vec, low, mid - 1)
end
else
~1