Algoritem Comb sort je algoritem, ki se uporablja za urejanje podatkov. V samem algoritmu gre za zamenjave in primerjanja podatkov - kot v večini urejevalnih algoritmov. Algoritem je podoben algoritmu Bubble sort (Urejanje z mehurčki) oziroma je nadgradnja ali izboljšana različica omenjenega programa.
Urejanje z mehurčki ali Bubble sort
Da bomo kasneje lažje razumeli urejanje Comb sort, na hitro preletimo osnove urejanja z mehurčki. Poglejmo si delovanje algoritma kar na konkretnem primeru. Imejmo neurejeno tabelo naključnih števil, ki bi jo radi uredili, tako da bodo števila v tabeli razvrščena po velikosti. Najmanjše število bo na prvem mestu, največje na zadnjem – na koncu tabele. Opazujmo le, kaj se dogaja s števili.
primer: Imejmo tabelo števil:
| 33 | 98 | 74 | 13 | 55 | 20 | 77 | 45 | 64 | 83 |
Zgrabimo prva dva elementa in ju primerjamo. V kolikor je prvi večji od drugega ju zamenjamo. Ker je 33 manjši od 98, zamenjava ni potrebna.
| 33 | 98 | 74 | 13 | 55 | 20 | 77 | 45 | 64 | 83 |
Nato zgrabimo drugega in tretjega, torej števili 98 in 74 in jih primerjamo.
| 33 | 98 | 74 | 13 | 55 | 20 | 77 | 45 | 64 | 83 |
Ker je število z manjšim indeksom večje od števila z večjim indeksom, števili zamenjamo.
| 33 | 74 | 98 | 13 | 55 | 20 | 77 | 45 | 64 | 83 |
Nato zgrabimo tretje in četrto število, torej števili 98 in 13 in ju primerjamo.
| 33 | 74 | 98 | 13 | 55 | 20 | 77 | 45 | 64 | 83 |
Ker je 13 manjše od 98, števili zamenjamo.
| 33 | 74 | 13 | 98 | 55 | 20 | 77 | 45 | 64 | 83 |
Tako nadaljujemo do konca, torej, dokler ne primerjamo zadnji dve števili v tabeli. Nato se vrnemo na začetek tabele in zopet primerjamo prvi in drugi podatek. Večkrat se sprehodimo skozi celotno tabelo. Najmanjši element tako splava na začetek tabele, največji pa na konec. Velika števila se zelo hitro pomaknejo na konec tabele, lahko že ob prvem prehodu čez tabelo. Majhna števila pa splavajo na začetek tabele zelo počasi. V najslabšem primeru v zadnjem koraku, torej čisto na koncu. Potrebujemo kar precej sprehodov čez celotno tabelo, preden so elementi urejeni po velikosti. Urejanje je končano, ko pri prehodu čez celo tabelo ni potrebna nobena zamenjava.


