THE INFORMATIQUE

THE INFORMATIQUE

Tri par fusion - récursivité-

Voici une procédure récursive qui permet de trier un tableau de n entiers en utilisant la méthode de tri par fusion : 

Procedure Tri_Fusion (Var t : TAB; g, d : integer);  
Var  
   m, i, j, k : integer;  
   s : TAB;  
Begin  
     If d > g Then  
     Begin           
          m := (g + d) Div 2;  
          Tri_Fusion (t, g, m);  
          Tri_Fusion (t, m + 1, d);  
            
     For i := m DownTo g Do  
              s[i] := t[i];  
            
     For j := m + 1 To d Do  
              s[d + m + 1 - j] := t[j];  
            
     i := g; j := d;  
          For k := g To d Do  
          Begin  
               If s[i] < s[j] Then  
               Begin  
                    t[k] := s[i];  
                    i := i + 1;  
               End  
               Else  
                   Begin  
                         t[k] := s[j];  
                         j := j - 1;  
                   End;  
          End;  
     End;  
End;


13/12/2012
0 Poster un commentaire

A découvrir aussi


Inscrivez-vous au blog

Soyez prévenu par email des prochaines mises à jour

Rejoignez les 2 autres membres