Code source tri "Shell"
tri_shell(tableau T)
debut
entier longueur, n, i, j, valeur;
longueur<-taille(T)
n<-0;
tantque n<longueur faire
n<-(3*n+1) //calcul du plus grand décalage possible
fin tantque
tantque n<>0 faire //tant que le décalage possible est non nul
n<-(n/3)
pour i=n à longueur-1 faire
valeur<-T(i) //valeur à décaler (éventuellement)
j<-i
tantque (j>n-1) et (T(j-n)>valeur)
T(j)<-T(j-n) //décalage des valeurs avec un pas de n
j<-j-n
fin tantque
T(j)<-valeur
fin pour
fin tantque
fin