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