Sorting algorithms/Cocktail sort: Difference between revisions
Content added Content deleted
(→version handles non-blanks: De-obfuscate Rexx version) |
(→version handles non-blanks: Explain the "simpler swap mechanism") |
||
Line 3,787: | Line 3,787: | ||
===version handles non-blanks=== |
===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. |
This faster REXX version can handle array elements that don't contain blanks or spaces by using a simpler ''swap'' mechanism. |
||
The REXX ''PARSE'' instruction separates an input into parts and assigns them to |
|||
variables, in a single operation. Thus |
|||
<syntaxhighlight lang="rexx">PARSE VALUE 0 items.j items.jp WITH done items.jp items.j</syntaxhighlight> |
|||
sets ''done'' to 0, ''items.jp'' to ''items.j'', and ''items.j'' to ''items.jp'', as long as none of the input |
|||
variables contain any blanks. |
|||
<syntaxhighlight lang="rexx">cocktailSort2: procedure expose items. |
<syntaxhighlight lang="rexx">cocktailSort2: procedure expose items. |
||
nn = items.0 - 1 /*N: the number of items in items.*/ |
nn = items.0 - 1 /*N: the number of items in items.*/ |