Mi pare che lo pseudocodice contenga una deficienza. Non mi sono permesso di modificarlo non essendo un programmatore esperto e dunque incerto, tuttavia confido nella revisione da parte di utenti più esperti. In particolare mi pare che la mancanza sia la seguente: non solo A [j] deve assumere il valore di A[j+1], nel while, ma pure il viceversa. I due valori devono scambiarsi, sennò "perdiamo" un valore.
Io, in DevC++ ho così implementato la funzione, e funziona (PONGO TRA ASTERISCHI QUELLO CHE LO PSEUDOCODICE SU WIKI MI PARE NON DIRE):