17 lines
1.0 KiB
Plaintext
17 lines
1.0 KiB
Plaintext
Beszúró rendezés
|
|
A beszúró rendezés nevét onnan kapta, hogy a működése leginkább a kártyalapok egyenként való kézbe vételéhez és a helyükre igazításhoz hasonlítható.
|
|
|
|
Vesszük a soron következő elemeket, és megkeressük a helyét a tőle balra lévő, már rendezett részben, majd a kereséssel párhuzamosan a nagyobb elemeket rendre eggyel jobbra mozgatjuk. Az aktuális elemet egy segédváltozóban tároljuk, mert a mozgatások során értéke felülíródhat egy nagyobb elemmel.
|
|
|
|
Ezen algoritmus használata akkor igazán előnyos, ha au adatsorunk már részben rendezett. Továbbá akkor igen hatékony, ha egy rendezett sorozatot bővítünk és a bővítés után is szeretnénk, hogy a sorozat rendezett maradjon.
|
|
|
|
Az algoritmus futási ideje legjobb esetben konstans, vagyis a gép sebességétől függ, az elemektől nem. Legrosszabb esetben pedig négyzetes.
|
|
|
|
CIKLUS i = 1-től 6-ig
|
|
j = i - 1
|
|
tmp = a[i]
|
|
amíg (j >= 0) és (a[j] > tmp)
|
|
a[j + 1] = a[j]
|
|
a[j + 1] = tmp
|
|
|
|
Gyorsrendezés (quick sort) |