Sorting algorithms/Bubble sort: Difference between revisions

no edit summary
m (→‎{{header|REXX}}: added a horizontal (output) version, optimized the bubble sort subroutines.)
No edit summary
Line 3,698:
return arr
}</lang>
 
=={{header|Simula}}==
<lang simula>BEGIN
 
PROCEDURE BUBBLESORT(A); NAME A; INTEGER ARRAY A;
BEGIN
INTEGER LOW, HIGH, I;
BOOLEAN SWAPPED;
 
PROCEDURE SWAP(I, J); INTEGER I, J;
BEGIN
INTEGER TEMP;
TEMP := A(I); A(I) := A(J); A(J) := TEMP;
END**OF**SWAP;
 
LOW := LOWERBOUND(A, 1);
HIGH := UPPERBOUND(A, 1);
SWAPPED := TRUE;
WHILE SWAPPED DO
BEGIN
SWAPPED := FALSE;
FOR I := LOW + 1 STEP 1 UNTIL HIGH DO
BEGIN
COMMENT IF THIS PAIR IS OUT OF ORDER ;
IF A(I - 1) > A(I) THEN
BEGIN
COMMENT SWAP THEM AND REMEMBER SOMETHING CHANGED ;
SWAP(I - 1, I);
SWAPPED := TRUE;
END;
END;
END;
END**OF**BUBBLESORT;
 
INTEGER ARRAY A(1:10);
INTEGER I, N;
I := 1;
FOR N := 6, 8, 5, 9, 3, 2, 2, 1, 4, 7 DO
BEGIN
A(I) := N; I := I + 1;
END;
BUBBLESORT(A);
FOR I:= 1 STEP 1 UNTIL 10 DO
OUTINT(A(I), 5);
OUTIMAGE;
 
END;}</lang>
 
=={{header|Smalltalk}}==
Anonymous user