Sorting algorithms/Gnome sort: Difference between revisions

m
→‎{{header|REXX}}: added DO-END labels, added comments and whitespace. -- ~~~~
m (→‎{{header|REXX}}: added DO-END labels, added comments and whitespace. -- ~~~~)
Line 1,570:
call gnomeSort highItem /*invoke the infamous gnome sort.*/
call show@ ' after sort' /*show "after" array elements.*/
exit /*stick a fork in it, we're done.*/
exit
/*─────────────────────────────────────gnomeSORT subroutine─────────────*/
gnomeSort: procedure expose @.; parse arg n; k=2
 
do j=3 while k<=n; km=k-1
if @.km<=@.k then k=j
else do
_=@.km /*swap two entries in the array. */
@.km=@.k
@.k=_
k=k-1; if k==1 then k=j
end
end /*j*/
return
Line 1,602:
show@: widthH=length(highItem) /*the maximum width of any line. */
do j=1 for highItem /*show and tell time for array. */
say 'element' right(j,widthH) arg(1)":" @.j /*make it pretty. */
end /*j*/
say copies('─',60) /*show a separatorseperator line that fits*/
return</lang>
'''output'''