Salut j'ai un petit projet de trier une pile avec l'algorithme shell. Au lieu que la fonction reçoit un tableau d'entier c'est une pile. Je veux de l'aide pour trier une pile .
voici le code du tri shell avec un tableau:
void tri_shell(int tableau[],int n)
{
int pas(0), j, valeur;
do{
pas=3*pas+1;
}while(pas<n);
while(pas!=0)
{
for (int i(pas);i<n;i++)
{
valeur=tableau[i];
j=i;
while((j>(pas-1)) && (tableau[j-pas]>valeur))
{
tableau[j]=tableau[j-pas];
j=j-pas;
}
tableau[j]=valeur;
}
pas=(pas-1)/3;
}
}
Merci !