Anonymous user
Sorting algorithms/Bubble sort: Difference between revisions
m
→{{header|REXX}}
Line 1,785:
=={{header|REXX}}==
<lang
/*REXX program
exit▼
/*─────────────────────────────────────BUBBLESORT subroutine───────*/
/*diminish #items each time.*/▼
done=1 /*assume it's done (1=true).*/▼
end /* 1=true 0=false */
end▼
end
return
▲call showL ' after sort' /*show after array elements*/
▲exit
say copies('-',sepLength) /*show 1st seperator line. */▼
/*─────────────────────────────────────GEN@ subroutine─────────────*/
do j=1 for highItem▼
gen@: @.='' /*assign default value. */
say 'element' right(j,widthH) arg(1)":" right(L.j,widthL)▼
@.1 ='---letters of the Hebrew alphabet---'
@.2 ='===================================='▼
@.3 ='aleph [alef]'
@.4 ='beth [bet]'
@.5 ='gimel'
@.6 ='daleth [dalet]'
@.7 ='he'
@.8 ='waw [vav]'
@.9 ='zayin'
@.10='heth [het]'
@.11='teth [tet]'
@.12='yod'
@.13='kaph [kaf]'
@.14='lamed'
@.15='mem'
@.16='nun'
@.17='samekh'
@.18='ayin'
@.19='pe'
@.20='sadhe [tsadi]'
@.21='qoph [qof]'
@.22='resh'
@.23='shin'
@.24='taw [tav]'
do highItem=1 while @.highItem\=='' /*find how many entries. */
end
return
▲bubbleSort: procedure expose L.; parse arg n /*n=number of items.*/
▲ /*diminish #items each time.*/
▲ do m=n to 2 by -1 until done /*sort until it's done. */
▲ done=1 /*assume it's done (1=true).*/
/*─────────────────────────────────────SHOW@ subroutine────────────*/
▲ do j=1 for m /*sort M items this time. */
show@:
▲ if L.j>L.nxt then do /*out of order ? */
▲ temp =L.j /*assign TEMP to current. */
▲ L.j =L.nxt /*swap current with next. */
▲ L.nxt=temp /*... and next with TEMP. */
▲ done=0 /*indicate it's not done. */
▲ end /* 1=true 0=false */
▲ end
▲ do j=1 for highItem
end
return
</lang>
Output:
<pre style="height:30ex;overflow:scroll">
element 1 before sort: ---letters of the Hebrew alphabet---
element
element
element
element
element
element
element
element
element
element
element
element
element
element
element
element
element
element
element
element
▲============================
element 23 before sort: shin
element 24
────────────────────────────────────────────────────────────────────────────────
▲element 2 after sort: 3
element
element
element
element
element
element
element
element
element
element
element
element
element
element
element
element
element
element
element 19 after sort: shin
element 20 after sort: taw [tav]
element 21 after sort: teth [tet]
element 22 after sort: waw [vav]
element 23 after sort: yod
element 24 after sort: zayin
────────────────────────────────────────────────────────────────────────────────
</pre>
|