{ Fonction de comparaison de deux chaines } { de caracteres de longueurs identiques } { vis a vis de l'ordre au sens du code ASCII } { Valeur entiere retournee: } { 0 si chaines egales } { -1 si la premiere chaine est inferieure } { a la seconde } { 1 si la premiere chaine est superieure } { a la seconde } entier fonction ordre(-> chaine s1,-> chaine s2) entier lc <- longueur(s1) caracteres [] t1 <- tableauCaracteres(s1) caracteres [] t2 <- tableauCaracteres(s2) entier res <- 0 booleen go <- vrai entier i <- 0 tantque go faire si ( i == lc ) alors go <- faux sinon si t1[i] < t2[i] alors go <- faux res <- -1 sinon si t1[i] > t2[i] alors go <- faux res <- 1 fsi fsi fsi i <- i+1 fait retourner res fin fonction { Action de tri a bulle d'un tableau } { de chaines de caracteres } { de longueurs identiques } { par ordre de code ASCII } action triBulleTableauDeChaines(-> chaine [] t ->) entier j chaine aux booleen permutation entier np np <- longueur(t)-1 faire permutation <- faux pour j de 0 à np-1 faire si ordre(t[j],t[j+1]) == 1 alors aux <- t[j] t[j] <- t[j+1] t[j+1] <- aux permutation <- vrai fsi fait np <- np-1 tantque permutation fin action