Μια διαφορετική προσέγγιση στο πρόβλημα της ταξινόμησης είναι η εξής.

Αν θεωρήσουμε ότι ένα τμήμα του πίνακα είναι ταξινομημένο, φροντίζουμε ώστε ένα επιπλέον στοιχείο του πίνακα να τοποθετηθεί στη σωστή του θέση και έτσι το ταξινομημένο τμήμα του πίνακα θα μεγαλώσει κατά ένα μέλος.

Στο παρακάτω πρόγραμμα ξεκινάμε από τον πίνακα που το πρώτο του στοιχείο θεωρείται ταξινομημένο και εισάγουμε το δεύτερο, οπότε ο ταξινομημένος πίνακας έχει πλέον δύο μέλη. Στη συνέχεια εισάγεται το τρίτο στοιχείο του πίνακα κ.ο.κ μέχρι να ταξινομηθεί όλος ο πίνακας

 

ΠΡΟΓΡΑΜΜΑ ΤαξινόμησηΕισαγωγής
ΜΕΤΑΒΛΗΤΕΣ
  ΑΚΕΡΑΙΕΣ: Ν, ι, Π[10], νεο, κ
  ΛΟΓΙΚΕΣ: done
ΑΡΧΗ
  Π[1] <- 0
  ΓΙΑ ι ΑΠΟ 1 ΜΕΧΡΙ 10
    Π[ι] <- (ι)*19 mod 33
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
  Ν <- 10
  ΓΡΑΨΕ Π[1], Π[2], Π[3], Π[4], Π[5], Π[6], Π[7], Π[8], Π[9], Π[10] 
  ΓΙΑ ι ΑΠΟ 2 ΜΕΧΡΙ Ν
    done <- ΨΕΥΔΗΣ
    νεο <- Π[ι] 
                                                                   ! Π[1] <- νεο
    κ <- ι - 1
    ΟΣΟ κ >= 1 ΚΑΙ ΟΧΙ done ΕΠΑΝΑΛΑΒΕ
      ΑΝ Π[κ] < νεο ΤΟΤΕ
        Π[κ + 1] <- Π[κ] 
        κ <- κ - 1
      ΑΛΛΙΩΣ
        done <- ΑΛΗΘΗΣ
      ΤΕΛΟΣ_ΑΝ

    ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
    Π[κ + 1] <- νεο
    ΓΡΑΨΕ Π[1], Π[2], Π[3], Π[4], Π[5], Π[6], Π[7], Π[8], Π[9], Π[10] 

  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ