Sortiranje elemenata liste

2. Sortiranje zamjenom elemenata (eng. Selection sort)

2.1. 1. inačica – Sortiranje zamjenom svakog neodgovarajućeg elementa

Vrijednost svakog element niza, počevši od prvog uspoređuje se s vrijednosti elemenata koji dolaze iza njega. Ako je poredak dva elementa koja se uspoređuju obratan od redoslijeda sortiranja, elementima se zamjene vrijednosti.

Algoritam za sortiranje na opisani način možemo zapisati ovako:

za i=1 do n-1 činiti
    za j=i+1 do n činiti

          ako je a[i]> a[j] onda
                                      zamjeni a[i] i a[j]

Podsjetimo se, zamjenu vrijednosti varijablama x i y moguće je napraviti na više načina. Dva su najčešća:

Uporabom računskih operacija zbrajanja i oduzimanja

Ako su na početku dane varijable x=6 i y=4, niz naredbi:

x = x + y
y = x - y
x = x - y 

daje vrijednosti x=4 i y=6

Pomoćnom varijablom

Ova metoda može se predočiti na sljedeći način: Na raspolaganju su dvije pune boce, jedna Cole, a druga Fante. Potrebno je sadržaj Cole presipati u bocu Fante, a Fantu preliti u bocu Cole. Jedini način je Colu presipati u pomoćnu posudu, preliti Fantu u bocu od Cole i na kraju Colu iz pomoćne posude preliti u bocu Fante! Taj princip primjenjuje se i za zamjenu varijabli.

Promotrimo:

Ako su na početku dane varijable x=6 i y=4, niz naredbi:

                t=x;    → vrijednost varijable x smješta se u pomoćnu varijablu t

                x=y;    → u varijablu x smješta se vrijednost varijable y, dakle x=4

                y=t;    → u varijablu y smješta se vrijednost pomoćne varijable t, dakle y=6

dat će vrijednosti x=4 i y=6.