Anonymous user
Sorting algorithms/Stooge sort: Difference between revisions
m
→{{header|REXX}}: added DO-END labels, remove superflous blanks. -- ~~~~
(→{{header|Pascal}}: This finally works :-)) |
m (→{{header|REXX}}: added DO-END labels, remove superflous blanks. -- ~~~~) |
||
Line 924:
=={{header|REXX}}==
<lang REXX>/*REXX program to sort an integer array L, elements start at zero.*/▼
▲/*REXX program to sort an integer array L, elements start at zero.*/
highItem=19 /*define a score of elements*/
widthH=length(highItem) /*width of biggest element#.*/
widthL=0 /*width of largest element. */
do k=0 to highItem
L.k=2*k + (k * -1**k)
if L.k==0 then L.k=-100-k
widthL=max(widthL,length(L.k))
end /*k*/
call showL 'before sort' /*show before array elements*/
Line 941 ⟶ 939:
call showL ' after sort' /*show after array elements*/
exit
/*----------------------------------showL subroutine---------------*/
showL: sepLength=22+widthH+widthL /*compute seperator width. */
say copies('-',sepLength) /*show 1st seperator line. */
do j=0 to highItem
say 'element' right(j,widthH) arg(1)":" right(L.j,widthL)
end /*j*/
say copies('=',sepLength) /*show 2nd seperator line. */
return
/*-----------------------------------stoogeSort subroutine---------*/
▲stoogeSort: procedure expose L.; parse arg i,j /*sort from I to J*/
if L.j<L.i then do /*swap L.i and L.j */
Line 965 ⟶ 962:
call stoogesort i , j-t
end
return</lang>▼
'''output'''
▲</lang>
<pre style="height:30ex;overflow:scroll">
----------------------------
|