Menu
Donnez votre avis

Tri à bulles -récursivité-

Posez votre question
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;


Jean-François Pillou

Cet article est régulièrement mis à jour par des experts sous la direction de Jean-François Pillou, fondateur de CommentCaMarche et directeur délégué au développement numérique du groupe Figaro.

En savoir plus sur l'équipe CCM

A voir également

Article original publié par Carlos Villagómez. 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 (https://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.

Ajouter un commentaire

Commentaires

Commenter la réponse de doudou