Sorting algorithms/Bubble sort: Difference between revisions
Content added Content deleted
(Added an Algol W sample) |
(Added uBasic/4tH version) |
||
Line 4,102: | Line 4,102: | ||
}</lang> |
}</lang> |
||
=={{header|uBasic/4tH}}== |
|||
<lang>PRINT "Bubble sort:" |
|||
n = FUNC (_InitArray) |
|||
PROC _ShowArray (n) |
|||
PROC _Bubblesort (n) |
|||
PROC _ShowArray (n) |
|||
PRINT |
|||
END |
|||
_Bubblesort PARAM(1) ' Bubble sort |
|||
LOCAL (2) |
|||
DO |
|||
b@ = 0 |
|||
FOR c@ = 1 TO a@-1 |
|||
IF @(c@-1) > @(c@) THEN PROC _Swap (c@, c@-1) : b@ = c@ |
|||
NEXT |
|||
a@ = b@ |
|||
UNTIL b@ = 0 |
|||
LOOP |
|||
RETURN |
|||
_Swap PARAM(2) ' Swap two array elements |
|||
PUSH @(a@) |
|||
@(a@) = @(b@) |
|||
@(b@) = POP() |
|||
RETURN |
|||
_InitArray ' Init example array |
|||
PUSH 4, 65, 2, -31, 0, 99, 2, 83, 782, 1 |
|||
FOR i = 0 TO 9 |
|||
@(i) = POP() |
|||
NEXT |
|||
RETURN (i) |
|||
_ShowArray PARAM (1) ' Show array subroutine |
|||
FOR i = 0 TO a@-1 |
|||
PRINT @(i), |
|||
NEXT |
|||
PRINT |
|||
RETURN</lang> |
|||
=={{header|Unicon}}== |
=={{header|Unicon}}== |
||
See [[#Icon|Icon]]. |
See [[#Icon|Icon]]. |