Sorting algorithms/Cocktail sort: Difference between revisions
→version handles non-blanks: De-obfuscate Rexx version
(→version handles blanks: De-obfuscate Rexx version) |
(→version handles non-blanks: De-obfuscate Rexx version) |
||
Line 3,787:
===version handles non-blanks===
This faster REXX version can handle array elements that don't contain blanks or spaces by using a simpler ''swap'' mechanism.
<syntaxhighlight lang="rexx">cocktailSort2: procedure expose items.
do until done
done = 1
do j = 1 for nn
jp = j + 1 /*
if items.j >
parse value 0 items.j items.jp with done items.jp items.j /* swap items.j and items.jp, and set done to 0 */
end /*j*/
if done then leave
do k = nn for nn by
kp = k + 1 /* Rexx doesn't allow "items.(k+1)", so use this instead. */
return</syntaxhighlight> <br><br>▼
if items.k > items.kp then ,
parse value 0 items.k items.kp with done items.kp items.k /* swap items.k and items.kp, and set done to 0 */
end /*k*/
end /*until*/
=={{header|Ring}}==
|