O algoritmo a seguir, descrito em pseudocódigo, pode ser utilizado para ordenar um vetor A[0..n].
Algoritmo (A[], n)
VARIAVEIS
var i, j, elemento;
var i, j, elemento;
PARA j <- 1 ATÉ n FAÇA
elemento <- A[j];
i <- j – 1;
elemento <- A[j];
i <- j – 1;
ENQUANTO ((i >= 0) E (A[i] > elemento)) FAÇA
A[i+1] <- A[i]
A[i] <- elemento
i <- i–1
FIM_ENQUANTO
A[i+1] <- A[i]
A[i] <- elemento
i <- i–1
FIM_ENQUANTO
FIM_PARA
FIM
No pior caso, a complexidade deste algoritmo é: