RosettaCodeData/Task/Order-by-pair-comparisons/EasyLang/order-by-pair-comparisons.easy
2025-06-11 20:16:52 -04:00

29 lines
620 B
Text

proc insort item$ &arr$[] .
mid = 1
lo = 0
hi = len arr$[] + 1
while lo + 1 < hi
mid = (lo + hi) div 2
repeat
write "Is " & item$ & " less than " & arr$[mid] & "? y/n: "
ans$ = input
print ans$
until ans$ = "y" or ans$ = "n"
.
if ans$ = "y"
hi = mid
else
lo = mid
.
.
arr$[] &= ""
for i = len arr$[] downto hi + 1
arr$[i] = arr$[i - 1]
.
arr$[hi] = item$
.
items$[] = [ "violet" "red" "green" "indigo" "blue" "yellow" "orange" ]
for item$ in items$[]
insort item$ ordered$[]
.
print ordered$[]