Sorting algorithms/Gnome sort: Difference between revisions
Content added Content deleted
(solved for maxscript) |
m (→{{header|REXX}}: added/changed whitespace and comments, used a clearer separator line for output.) |
||
Line 1,797: | Line 1,797: | ||
This REXX version used a one-based stemmed array (instead of a zero-based array). |
This REXX version used a one-based stemmed array (instead of a zero-based array). |
||
<lang rexx>/*REXX program sorts a stemmed array using the gnome-sort algorithm.*/ |
<lang rexx>/*REXX program sorts a stemmed array using the gnome-sort algorithm.*/ |
||
call gen@ /*generate the @. array elements.*/ |
|||
call show@ 'before sort' /*show "before" array elements.*/ |
call show@ 'before sort' /*show "before" array elements.*/ |
||
call gnomeSort |
call gnomeSort # /*invoke the infamous gnome sort.*/ |
||
call show@ ' after sort' /*show "after" array elements.*/ |
call show@ ' after sort' /*show "after" array elements.*/ |
||
exit /*stick a fork in it, we're done.*/ |
exit /*stick a fork in it, we're done.*/ |
||
Line 1,811: | Line 1,811: | ||
return |
return |
||
/*──────────────────────────────────GEN@ subroutine─────────────────────*/ |
/*──────────────────────────────────GEN@ subroutine─────────────────────*/ |
||
gen@: !='deadbeef'x ...; @.=! |
gen@: !=... 'deadbeef'x ...; @.=! /*default none-value; allows null*/ |
||
@.1 = '---the seven virtues---' /* [↓] indent the seven virtues.*/ |
@.1 = '---the seven virtues---' /* [↓] indent the seven virtues.*/ |
||
@.2 = '=======================' ; @.6 = 'Fortitude' |
@.2 = '=======================' ; @.6 = 'Fortitude' |
||
Line 1,817: | Line 1,817: | ||
@.4 = 'Hope' ; @.8 = 'Prudence' |
@.4 = 'Hope' ; @.8 = 'Prudence' |
||
@.5 = 'Charity [Love]' ; @.9 = 'Temperance' |
@.5 = 'Charity [Love]' ; @.9 = 'Temperance' |
||
do items=1 while @.items\==!; end /*find the # of items in @ array.*/ |
|||
do #=1 while @.#\==!; end /*find the # of items in @ array.*/ |
|||
#=#-1 /*adjust the numer of items by 1.*/ |
|||
return |
|||
/*──────────────────────────────────SHOW@ subroutine────────────────────*/ |
/*──────────────────────────────────SHOW@ subroutine────────────────────*/ |
||
show@: |
show@: do j=1 for # /* [↓] display all items for @. */ |
||
say ' element' right(j,length(#)) arg(1)":" @.j |
|||
end /*j*/ /* [↑] right justify the J num.*/ |
|||
say copies('■',60) /*show a separator line that fits*/ |
|||
say copies('─',60) /*show a separator line that fits*/ |
|||
return</lang> |
return</lang> |
||
'''output''' |
'''output''' |
||
<pre> |
<pre> |
||
element 1 before sort: ---the seven virtues--- |
element 1 before sort: ---the seven virtues--- |
||
element 2 before sort: ======================= |
element 2 before sort: ======================= |
||
element 3 before sort: Faith |
element 3 before sort: Faith |
||
element 4 before sort: Hope |
element 4 before sort: Hope |
||
element 5 before sort: Charity [Love] |
element 5 before sort: Charity [Love] |
||
element 6 before sort: Fortitude |
element 6 before sort: Fortitude |
||
element 7 before sort: Justice |
element 7 before sort: Justice |
||
element 8 before sort: Prudence |
element 8 before sort: Prudence |
||
element 9 before sort: Temperance |
element 9 before sort: Temperance |
||
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ |
|||
──────────────────────────────────────────────────────────── |
|||
element 1 after sort: ---the seven virtues--- |
element 1 after sort: ---the seven virtues--- |
||
element 2 after sort: ======================= |
element 2 after sort: ======================= |
||
element 3 after sort: Charity [Love] |
element 3 after sort: Charity [Love] |
||
element 4 after sort: Faith |
element 4 after sort: Faith |
||
element 5 after sort: Fortitude |
element 5 after sort: Fortitude |
||
element 6 after sort: Hope |
element 6 after sort: Hope |
||
element 7 after sort: Justice |
element 7 after sort: Justice |
||
element 8 after sort: Prudence |
element 8 after sort: Prudence |
||
element 9 after sort: Temperance |
element 9 after sort: Temperance |
||
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ |
|||
──────────────────────────────────────────────────────────── |
|||
</pre> |
</pre> |
||