C pour lundi a l'aide!!!!!!!!!!!!!!!!!!!!!!!!

Résolu
Bonjour,
je cherche la méthode de tri shell par récursivité (trier les éléments d'un tableau);
merci de me rependre c pour lundi
Configuration: Windows XP
Safari 532.0

5 réponses

  1. pleeeeeeeeeeeeeeeeeeeeeeeeeeeeeeease
    0
    1. Modérateur
      Salut,

      Bien, tu vois quand tu veux, c'est tout à ton avantage et de poster la solution t'honorerait encore plus ;-))

      Merci.
      0
      1. 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)
        0
        1. Modérateur
          Merci beaucoup ;-))
          0