Tri à bulles -récursivité-

Janvier 2017

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;


A voir également


Article original publié par . Traduit par ZOUARI. Dernière mise à jour le 11 mars 2010 à 16:14 par irongege.
Ce document intitulé «  Tri à bulles -récursivité-  » issu de CommentCaMarche (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.