-
Notifications
You must be signed in to change notification settings - Fork 0
/
bubleir.txt
4 lines (4 loc) · 1.47 KB
/
bubleir.txt
1
2
3
4
Ha két szám nem a megfelelõ sorrendben következik, akkor felcseréljük õket. Ezt az eljárást ismételjük mindaddig, amíg további cserére nincs szükség.
A továbbiakban láthatunk egy mûveletsorozatot, amelynek során a nagy kulccsal rendelkezo számok jobbra mozognak, és a legnagyobb kulcsú szám addig mozog, amíg a sorozat végére nem ér: n-ik pozícióba. Az eljárás ismétlései a következo számokat csökkenõ sorrendbe az n-1, n-2 pozícióba juttatják (az algortimusban a „k” változó segítségével számoljuk ezt). Egy mutató segítségével figeljük, hogy történt-e csere egy lépés során, mivel ha nem történt akkor a soszat már rendezett állapotban van, a mutató típusa logikai és minden lépés elején feltételezzük, hogy a sorozat elemi már rednezettek.
A buborékos rendezés a következô ötleten alapszik: pásztázzuk végig többször az egész sort, és közben rendezzük a szomszédos elemeket. Ezt addig ismételjük, amíg a sor rendezetté nem válik. Az algoritmus onnan kapta a nevét, hogy a nagyobb elemek úgy haladnak a tömb vége fele, mint ahogyan a buborékok szállnak felfele egy pohár szódavízben.
Ha a sor majdnem rendezett, akkor a buborékos rendezésnek csupán néhányszor kell végigpászáznia. Az algoritmus gyorsabbá tehetõ, ha kihasználjuk azt, hogy egy-egy pásztázás után a legnagyobb elem biztosan a sor végére kerül, és ezért a következô pásztázás egy lépéssel rövidebb lehet.