Order by pair comparisons: Difference between revisions
Content added Content deleted
(Added XPL0 example.) |
imported>Chinhouse No edit summary |
||
Line 1,226: | Line 1,226: | ||
After some Yes/No clicks you should get: |
After some Yes/No clicks you should get: |
||
<pre>{"red", "orange", "yellow", "green", "blue", "indigo", "violet"}</pre> |
<pre>{"red", "orange", "yellow", "green", "blue", "indigo", "violet"}</pre> |
||
=={{header|MiniScript}}== |
|||
<syntaxhighlight lang="miniscript"> |
|||
insertSort = function(arr, item) |
|||
lo = 0 |
|||
hi = arr.len |
|||
while lo < hi |
|||
mid = floor((lo + hi) / 2) |
|||
ans = input("Is " + item + " less than " + arr[mid] + "? y/n: ") |
|||
ans = ans[0].lower |
|||
if ans == "y" then |
|||
hi = mid |
|||
else |
|||
lo = mid + 1 |
|||
end if |
|||
end while |
|||
arr.insert(lo, item) |
|||
end function |
|||
items = "violet red green indigo blue yellow orange".split |
|||
ordered = [] |
|||
for item in items |
|||
insertSort(ordered, item) |
|||
end for |
|||
print ordered |
|||
</syntaxhighlight> |
|||
{{out}} |
|||
<pre> |
|||
Is red less than violet? y/n: y |
|||
Is green less than violet? y/n: y |
|||
Is green less than red? y/n: n |
|||
Is indigo less than green? y/n: n |
|||
Is indigo less than violet? y/n: y |
|||
Is blue less than indigo? y/n: y |
|||
Is blue less than green? y/n: n |
|||
Is yellow less than blue? y/n: y |
|||
Is yellow less than green? y/n: y |
|||
Is yellow less than red? y/n: n |
|||
Is orange less than blue? y/n: y |
|||
Is orange less than yellow? y/n: y |
|||
Is orange less than red? y/n: n |
|||
["red", "orange", "yellow", "green", "blue", "indigo", "violet"] |
|||
</pre> |
|||
=={{header|Nim}}== |
=={{header|Nim}}== |