Jos osaamme lajitella numeroita, niin osaammeko lajitella nimiä? Vastaus on KYLLÄ. Mikä numeroiden lajittelussa on oleellista? Oleellista on tietää onko numero A pienempi kuin numero B. Miten tämä sitten soveltuu nimille? Jos osaamme päättää onko nimi A aakkosissa ennen kuin nimi B, on ongelma ratkaistu.
Verrataanpa erilaisia nimiä:
A: Kassinen Katto B: Ankka Aku
B on ensin aakkosissa. Miksi? Koska B:n ensimmäinen kirjain (A) on ennen nimen A ensimmäistä kirjainta (K).
A: Kassinen Katto B: Karhukopla 701107
Nytkin B on ensin. Siis miten vertaamme kahta nimeä?
Vertaamme nimiä merkki kerrallaan kunnes vastaan tulee eri- suuret kirjaimet. Kumpi erisuurista kirjaimista on aakko- sissa ennen, määrää sen kumpi nimistä on aakkosissa ennen.
Siinä meillä on algoritmi joka on varsin selvä. Jos algoritmi haluttaisiin vielä kirjoittaa "lausekieliseen" muotoon, niin se olisi suurin piirtein seuraavanlainen:
1. siirry kummankin nimen ensimmäiseen kirjaimeen 2. jos kummankin nimen viimeinen merkki on ohitettu, niin nimet ovat samat 3. jos toisessa nimessä viimeinen merkki on ohitettu, niin se on ennen aakkosissa 4. verrataan vuorossa olevia kirjaimia kummastakin nimestä - jos samat, niin siirrytään seuraaviin kirjaimiin ja jatketaan kohdasta 2. - jos erisuuret, niin se ensin aakkosissa, jonka kirjain on ensin
Tähän vielä pieni "viilaus enemmän strukturoidummaksi", niin meillä olisikin valmis (ali)ohjelma nimien vertaamiseksi.