Sorting algorithms/Bubble sort: Difference between revisions
Content added Content deleted
Line 652: | Line 652: | ||
TArray = array[0..15] of TItem; // static array |
TArray = array[0..15] of TItem; // static array |
||
{$ENDIF} |
{$ENDIF} |
||
{$DEFINE TESTSORTED} |
|||
procedure BubbleSort(var A: TArray); |
procedure BubbleSort(var A: TArray); |
||
var |
var |
||
Item: TItem; |
Item: TItem; |
||
K, L, J: Integer; |
|||
{$IFDEF TESTSORTED} |
|||
Sorted: Boolean; |
|||
{$ENDIF} |
|||
begin |
begin |
||
L:= Low(A) + 1; |
|||
K:= High(A); |
|||
{$IFDEF TESTSORTED} |
|||
repeat |
|||
⚫ | |||
⚫ | |||
{$ENDIF} |
|||
⚫ | |||
if A[J - 1] > A[J] then begin |
if A[J - 1] > A[J] then begin |
||
Item:= A[J - 1]; |
Item:= A[J - 1]; |
||
A[J - 1]:= A[J]; |
A[J - 1]:= A[J]; |
||
A[J]:= Item; |
A[J]:= Item; |
||
⚫ | |||
{$IFDEF TESTSORTED} |
|||
Sorted:= False; |
|||
{$ENDIF} |
|||
end; |
end; |
||
end; |
end; |
||
L:= K + 1; |
|||
{$IFDEF TESTSORTED} |
|||
until L > High(A); |
|||
if Sorted then Break; |
|||
{$ENDIF} |
|||
end; |
|||
end; |
end; |
||