Anonymous user
Sorting algorithms/Gnome sort: Difference between revisions
→{{header|REXX}}: removed superflous blanks, added comments to source code. -- ~~~
(→{{header|REXX}}: removed superflous blanks, added comments to source code. -- ~~~) |
|||
Line 1,372:
=={{header|REXX}}==
<lang rexx>/*REXX program sorts an array using the gnome-sort method. */▼
▲/*REXX program sorts an array using the gnome-sort method. */
call show@ 'before sort' /*show "before" array elements.*/
call
call show@ '
call gnomeSort highItem /*invoke the gnome sort. */▼
▲call show@ ' after sort' /*show after array elements*/
exit
gnomeSort: procedure expose @.; parse arg n; k=2▼
▲/*─────────────────────────────────────gnomeSORT subroutine────────*/
▲gnomeSort: procedure expose @.; parse arg n
@.k=_▼
k=k-1; if k==1 then k=j▼
end▼
▲ if @.km1<=@.k then k=j
end
▲ _=@.km1
▲ @.km1=@.k
▲ @.k=_
▲ k=k-1
▲ if k==1 then k=j
▲ end
end▼
return
gen@: @.= /*assign a default value (null). */
▲/*─────────────────────────────────────GEN@ subroutine─────────────*/
▲gen@: @.='' /*assign default value. */
@.1='---the seven virtues---'
@.2='======================='
Line 1,413 ⟶ 1,402:
@.8='Prudence'
@.9='Temperance'
▲ do highItem=1 while @.highItem\=='' /*find how many entries. */
▲highItem=highItem-1 /*adjust highItem slightly. */
return▼
/*─────────────────────────────────────SHOW@ subroutine────────────*/▼
show@: widthH=length(highItem) /*maximum width of any line.*/▼
say 'element' right(j,widthH) arg(1)":" @.j▼
▲say copies('─',80) /*show a seperator line. */
return
▲show@: widthH=length(highItem) /*the maximum width of any line. */
<pre style="height:30ex;overflow:scroll">▼
▲ say 'element' right(j,widthH) arg(1)":" @.j /*make it pretty. */
▲ end
say copies('─',60) /*show a seperator line. */
▲return</lang>
'''output'''
element 1 before sort: ---the seven virtues---
element 2 before sort: =======================
Line 1,442 ⟶ 1,424:
element 8 before sort: Prudence
element 9 before sort: Temperance
────────────────────────────────────────────────────────────
element 1 after sort: ---the seven virtues---
element 2 after sort: =======================
Line 1,453 ⟶ 1,434:
element 8 after sort: Prudence
element 9 after sort: Temperance
────────────────────────────────────────────────────────────
</pre>
|