Tri à bulles -récursivité-
Voici une procédure récursive qui permet de trier un tableau de n entiers en utilisant la méthode de tri à bulles :
Procedure Tri_bulles (var t : TAB; n : integer); Var i, aux : integer; Function Trier (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)); Trier := ok; End; Begin If Not Trier (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; Tri_bulles (t, n); End; End;
Ce document intitulé « Tri à bulles -récursivité- » issu de Comment Ça Marche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.