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

Résolu
firas mili Messages postés 76 Date d'inscription   Statut Membre Dernière intervention   -  
jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   -
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

5 réponses

firas mili Messages postés 76 Date d'inscription   Statut Membre Dernière intervention   9
 
alors
0
firas mili Messages postés 76 Date d'inscription   Statut Membre Dernière intervention   9
 
pleeeeeeeeeeeeeeeeeeeeeeeeeeeeeeease
0
firas mili Messages postés 76 Date d'inscription   Statut Membre Dernière intervention   9
 
je la trouvé
0
jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 896
 
Salut,

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

Merci.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
firas mili Messages postés 76 Date d'inscription   Statut Membre Dernière intervention   9
 
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
jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 896
 
Merci beaucoup ;-))
0