Tri Shell -Recursive-

Dernière mise à jour le 17 novembre 2009 à 13:54 par marlalapocket
Publié par ZOUARI

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

Procedure Tri_Shell_Rec (Var t: TAB; n,h : integer);
Var aux,i : integer;
begin
    If h > 0 Then
    Begin
        If n > h Then
             begin
                  Tri_Shell_Rec (t,n - h,h);
                  If t[n] < t[n - h] Then
                  Begin
                     aux:= t[n];
                     i := n;
                     Repeat                        
                        t[i] := t[i - h];
                        i := i - h;
                     Until (i = h) Or (aux > t[i - h]);
                     t[i] := aux;
                  End;
              End;
        Tri_Shell_Rec (t,n,h Div 3);
    End;
End;
Remarque:

Tester cette procédure sur des tableaux de petites tailles, car si n’est pas le cas le nombre des appels devient important et en aura le problème de débordement de la pile (la limite technique de la récursivité est la mémoire).
On peut augmenter la taille du tableau test on augmentant la taille de la pile (Option\Compilateur\Paramètres mémoire\Taille pile)

Je vous invite à me faire part de votre critiques et suggestions à l’adresse email suivante Lazhar.zouari@laposte.net


Meilleures réponses pour « Tri Shell Recursive » dans :
Tri par fusion - récursivité- VoirVoici 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 ...
Pascal - Tri par insertion - Récursivité- VoirVoici 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é- VoirVoici 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; ...
Télécharger CDBF Shell VoirCertains fichiers de votre ordinateur sont dans un format appelé DBF. Ce sont généralement des bases de données issues de DBase. Il y a par exemple les fichiers liés à Outlook Express qui sont dans ce format. CDBF Shell est une application vous...
Télécharger Shell Atary.tk VoirLa connexion ADSL est maintenant la référence pour naviguer et même capter la télé sur son ordinateur. Bien que la connexion est censée être du haut débit, elle est sujet à des ralentissements à cause de virus en tout genre. Shell Atary.tk est...
SQL - Tri VoirTri des résultats Il est possible en SQL d'organiser les résultats grâce à la clause ORDER BY. La clause ORDER BY est suivie des mots clés ASC ou DESC, qui précisent respectivement si le tri se fait de manière croissante (par défaut) ou...
Linux - Le shell VoirIntroduction au shell L'interpréteur de commandes est l'interface entre l'utilisateur et le système d'exploitation, d'où son nom anglais «shell», qui signifie «coquille». Le shell est ainsi chargé de faire l'intermédiaire le système...
Systèmes UNIX - Le shell VoirIntroduction au shell L'interpréteur de commandes est l'interface entre l'utilisateur et le système d'exploitation, d'où son nom anglais «shell», qui signifie «coquille». Le shell est ainsi chargé de faire l'intermédiaire entre le système...