Bubble sort - Ricorsione

Dicembre 2016

Ecco una procedura ricorente che ordina un array di n interi utilizzando il metodo di bubble sort :


Procedure Bubble_sort (var t : TAB; n : integer);   
Var i, aux : integer;
Function Sort (t : TAB; n : integer) : Boolean;
Var ok : boolean; i : integer;
Begin
ok := true; i := 1;
Repeat
If t[i + 1] < t[i] Then ok := false
Else i := i + 1;
Until ((Not ok) or (i >= n));
Sort := ok;
End;
Begin
If Not Sort(t, n) Then
Begin
For i := 1 To n - 1 Do
If t[i] > t[i + 1] Then
Begin
aux := t[i];
t[i] := t[i + 1];
t[i + 1] := aux;
End;
Bubble_sort (t, n);
End;
End;

Potrebbe anche interessarti :
Il documento intitolato « Bubble sort - Ricorsione » da CCM (it.ccm.net) è reso disponibile sotto i termini della licenza Creative Commons. È possibile copiare, modificare delle copie di questa pagina, nelle condizioni previste dalla licenza, finché questa nota appaia chiaramente.