Anonymous user
Sorting algorithms/Heapsort: Difference between revisions
m
→version 2: added a 2nd output to show the sorting of numbers.
m (→{{header|REXX}}: restructured 1st two programs, add/changed comments and whitespace.) |
m (→version 2: added a 2nd output to show the sorting of numbers.) |
||
Line 2,917:
===version 2===
This REXX version creates a stemmed array from a list (it can be numbers or characters).
<lang rexx>/*REXX program sorts a list (names of modern Greek letters) using a heapsort algorithm.*/
parse arg g /*obtain optional argument from the CL.*/
if g='' then g= 'alpha beta gamma delta epsilon zeta eta theta iota kappa lambda mu nu',
do #=1 for words(g); @.#=word(g,#); end; #=#-1
call show "before sort:"
Line 2,940 ⟶ 2,941:
/*──────────────────────────────────────────────────────────────────────────────────────*/
show: do e=1 for #; say ' element' right(e,length(#)) arg(1) @.e; end; return</lang>
'''output''' is the same as the 1<sup>st</sup> REXX version when using the default input.
'''output''' when using the following for input: <tt> 19 0 -.2 .1 1e5 19 17 -6 789 11 37 </tt>
<pre>
element 1 before sort: 19
element 2 before sort: 0
element 3 before sort: -.2
element 4 before sort: .1
element 5 before sort: 1e5
element 6 before sort: 19
element 7 before sort: 17
element 8 before sort: -6
element 9 before sort: 789
element 10 before sort: 11
element 11 before sort: 37
▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒
element 1 after sort: -6
element 2 after sort: -.2
element 3 after sort: 0
element 4 after sort: .1
element 5 after sort: 11
element 6 after sort: 17
element 7 after sort: 19
element 8 after sort: 19
element 9 after sort: 37
element 10 after sort: 789
element 11 after sort: 1e5
</pre>
===version 3===
|