Téléchargement
illégal

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;


Publié par ZOUARI - Dernière mise à jour le 11 mars 2010 à 16:14 par irongege
Ce document intitulé « Tri par fusion - 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.
Suggestions
  •  Tri par fusion - récursivité-
  •  Pascal - Tri par insertion - Récursivité- » Fiches pratiques : Voici une procédure récursive qui permet de trier un tableau de n entiers en utilisant la méthode de tri par insertion : Procedure Tri_Ins (Var t: TAB; n: integer); Var aux,i : integer; begin If n > 1 Then begin ...
  •  Tri à bulles -récursivité- » Fiches pratiques : 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; ...
  •  Tri par fusion d'un tableau en c++ (Résolu) » Bonjour, j'ai essayé de faire trier un tableau d'entiers en c++ mais ca ne marche pas veuillez me corriger le code est #include<iostream> using namespace std; void saisie (int t[],int n) { for(int i=0;i<=(n-1);i++) {cout<<"t["<<i<<"]="; cin>>t[i];...
  •  Exécution du tri par fusion (Résolu) » Bonsoir, voici une procédure qui permet de trier un tableau en utilisant le principe du tri fusion... en fait, j'ai compris le principe, le problème est que je n'arrive pas à exécuter manuellement la procédure.. La procédure est la suivante: procedure...
  •  Algorithme tri fusion » Meilleure réponse: program fusion01; uses wincrt; type tab=array [1..20]of integer; var t:tab; m,f,d,n:integer; {---------------------------------------------------} procedure saisie(var n:integer); begin repeat write('taper la taille du tabeau n : '); re
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?
Inverser les éléments d'un tableau -Récursivité-
Tri à bulles -récursivité-