Programozás - ez csak - 1. lecke

Ennek lényege, hogy az algoritmus az elem a rendezett lista, mert „durran”, mint egy buborék (mellesleg, ezért az algoritmus kapta a nevét), és úgy mozog, amíg nem talált a helyüket. Az ezen irányelv végrehajtásához algoritmus nagyon egyszerű, nézd meg magad:







Ha jobban megnézed a programot, akkor valószínűleg csak fel a kérdést, hogy miért az első ciklus kezdődik a második elem? Ahhoz, hogy válaszolni fogunk látni egy beágyazott hurok. Úgy kezdődik a végén a rendezett listát, és az ellenkező irányba, hogy a jelenlegi szülő elem ciklusban. Most nézzük meg a tartalmát egy beágyazott hurok:

Mint látható, tesszük tranzakciók az elem szám j-1. Az első lépés, ez az elem kerül számozott 1 (mert 2,1 = 1).

Hogyan működik a buborék rendezési algoritmusnak? A felső hurok pont mozog előrefelé, a indexbejegyzéssel rendezve. A közvetlen válogatás részt beágyazott hurok. Ezután csak „tolja” elem a helyére, így a permutációk.







X: = elem [j-1];
elem [j-1]: = elem [j];
tétel [j]: = x;

Természetesen a permutációs van szükség, csak ha az előző elem már nem aktuális - innen a szükségességét, hogy „delete”, és a jelenlegi éppen ellenkezőleg, a „felvonó”. Ha rendezés csökkenő sorrendben, akkor természetesen ennek az ellenkezője igaz.

És most fogunk foglalkozni vizsgálati algoritmust. Helyezzük a forma szerinti összetevők a screenshot *:

Programozás - ez csak - 1. lecke

Listamezőt (TListBox). amely megjeleníti a tömböt rendezni, hívja lbin, ami után - lbOut jelölje eredményeket felmutatni (chbShowResults) van szükség ahhoz, hogy mi is kikapcsolja a megjelenítési amikor a bója, hogy teszteljék a nagy listákat annak érdekében, hogy meghatározzák a teljesítményt az algoritmus. Mező adja meg a tömb elemeinek számát (TSpinEdit) nevű seCount. címkét, hogy megjelenítse a kezdetét és végét, a rendezés és lbBegSort lbEndSort rendre gomb btnSort.

Most indul a programozást. Szöveg beszúrása Bubble eljárás végrehajtásában részt. A szakasz típusok új típusok:

DataItem = egész szám;
DataArray = array [1..800000] az egész;

Állapítsa egy globális változó Ar: DataArray *;

Egy tárgy seCount létre zMinValue ingatlan 1 és MAXVALUE 800.000.




Kapcsolódó cikkek