SITE KERESÉS

Az egydimenziós tömb buborékrendezése: algoritmus, programkód C nyelvben

Az információkkal való munka a leginkább jövedelmezőa tárolás módja struktúrák és tömbök. Az utóbbi tartalmazhat minden olyan típusú adatot, amely alkalmas a program munkájában való felhasználásra. Gyakran használják az online áruházak munkájában és a játékok fejlesztésében. Ezért a bennük tárolt adatokat ismételten sorba rendezik és kicserélik, és logikai vagy matematikai műveleteket hajtanak végre rájuk. A tömb sorrendjének egyik módja a buborék válogatása. Ez a kiadvány tanulmányozza a C kódját és a permutació logikáját.

Array rendezési algoritmus

Technikai nehézségek a programozó számáraAz egydimenziós tömb buborék-válogatása nem jelent, bár nagyon ritkán használják alacsony hatékonyságuk miatt. Gyakran a képzési szakaszban a legegyszerűbb. Ez azonban messze nem a leghatékonyabb. Algoritmusa a számjegyek és a kölcsönösen felülírandó cellák egymás utáni összehasonlításából áll, ha a feltétel teljesül.

buborékfajta

Lépésről-lépésre válogatás leírása

Az első iterációnál kettőszomszédos számok. Ha a bal nagyobb, akkor helyesen írja át a jobb oldali helyeket. Mínusz 8 és 0 a feltételek nem felelnek meg. Ezért nem változnak helyeken. A nulla és az 5 is nem illik. 5. és 3. ábra alkalmas. Azonban ez az iteráció az olvasási keret nem esik az első öt, de jobbra vált, mivel az 5. óta nullához hasonlított. Ez azt jelenti, hogy a következő pár - a 3 és a 9 változik helyet, majd az olvasó felajánlja, hogy függetlenül vizsgálja meg az összes helyettesítést a szerző megjegyzései nélkül, és tanulmányozza a buborék válogatásának algoritmusait.

buborék-rendezési algoritmus

Ennek eredményeképpen az összes iteráció, a tömb fokozatosanés ez alapvetően így van: a nagy pozitív számok gyorsan mozognak jobbra, míg a kisebb és negatívak lassan eltolódnak balra. Úgy tűnik, hogy a folyadékban lévő gázbuborékok gyorsan felemelkednek. Ennek az analógiának köszönhetően az algoritmust buborék-válogatásnak nevezték.

Számítási komplexitás becslése

Az ideális rendezési algoritmusnak meg kell lenniea lehető leggyorsabban. Ezzel egyidejűleg kis mennyiségű CPU és memória erőforrásokat is fel kell venni. És egy olyan folyamat, mint egy tömb buborék válogatása, nem lehet a leginkább energiatakarékos és nyereséges. A széles körű alkalmazás miatt nem találta. Ha a memóriában jelenleg kevesebb probléma merül fel, akkor a processzor erőforrásait aggasztani kell. Mivel a digitális tömbök nemcsak nagyok, hanem hatalmasak is lehetnek, a számítógépes erőforrások fogyasztása kiszámíthatatlan.

Ha a buborék válogatása elvileg gyorsviszonylag kis sorrendben kezeli a rend létrehozását, majd nagyban lehet, hogy az erőforrások túlzott kiadása miatt meghibásodik. Ez azt jelenti, hogy megsérti az algoritmusban rejlő univerzalitás tulajdonságát. A buborék válogatása N-négyzetes komplexitással bír, és nagyon messze van az N komplexitás logaritmusától. Ezenkívül a nagy tömb feldolgozása során a meghibásodás kockázata megnöveli az adatvesztés esélyét a felülírási cellák miatt. Ebben a tekintetben sokkal nyereségesebb lesz a beillesztési válogatás vagy a Shell algoritmus.

Szoftver kód

A következő a grafikus alkalmazásban vana C-nyelv számítógépes kódja lehetővé teszi a buborék válogatását. Ez egy külön típusú függvényként jelenik meg. Nem ad vissza semmilyen értéket, de a mutatók használatával az elemeket a rendezési feltételek függvényében kicserélik. Ebben az esetben a kód megoldja az egész számok buborék szerinti rendezését növekvő sorrendben.

buborék-rendezési algoritmus

Ennek a funkciónak a végrehajtásához a felhasználónak meg kell felelniehozzon létre egy tömböt, amelyet meg kell tölteni a kívánt értékekkel. Ez kézzel is elvégezhető, a dimenzió és az elemek számának beállításával a program elején. Ezután kitöltheti a tömböt állandó értékekkel. A második lehetőség egy univerzális program létrehozása egy nagy egydimenziós tömb 100 elemének kijelölésével.

Egy tömb deklarálása és inicializálása

Integer változó hozzárendelése és hozzárendeléseA billentyűzetről olvasott érték korlátozhatja a feltöltött cellák számát. A tömb elemeinek beírását a felhasználó a billentyűzetből is végrehajthatja, a scanf függvény használatával ("% d" és "érték"). Ebben a példában a "% d" olyan módosító karaktersorozat, amely a fordító számára azt jelzi, hogy a vizsgálat után egész számérték fog érkezni. A változóérték egy olyan értéket tárol, amely egy egydimenziós egész számú tömb.

A rendezési algoritmus használatához meg kella függvényben adja át a tömb nevét és annak méretét. A grafikus alkalmazásban bemutatott helyzetben a rendezési funkció hívása így fog kinézni: BubleSort (dataArray, sizeDataArray). Természetesen a vonal végén a függvény után pont helyett pontosvesszőt kell helyezni a program szintaktikai szabályai szerint. Tehát az adatArray az elrendezendő tömb neve, és a sizeDataArray a mérete.

buborék tömb válogatás

Ezek a paraméterek átadása a BubleSort () függvénynekazt eredményezi, hogy a sizeArray használata helyett, amint az az ábrán látható, egy valós programban a műveleteket a sizeDataArray segítségével végzik el. Ez azt is jelenti, hogy a BubleSort () függvény egy egész adatadatot használ. Hasonlóképpen a printArrayFunction () és a ArrayIntegerInputFunction () függvényeket is hívják. Az első feladata a nyomtatás, vagyis az elemek konzolba való továbbítása. A második pedig a felhasználó által a billentyűzetből beírt elemekkel kell kitölteni.

Ez a programozási stílus, amikor elszigetelta műveletek funkcionális formában valósulnak meg, jelentősen növeli a kód olvashatóságát, és felgyorsítja annak fejlődését. Egy ilyen programban a tömb kitöltött külön a billentyűzetről, kinyomtatva és a buborékfajtán. Ez utóbbit felhasználhatjuk az adatok rendezésére, vagy másodlagos függvényként, melynek célja a tömb minimum és maximum megkeresése.

Insertion sorting

A beillesztési módszer szerinti sorrendbenfelváltva összehasonlítja az egyes elemeket, és létrehoz egy olyan láncot, amelyet az állapot szerint rendeztek. Ennek eredményeképpen minden egyes összehasonlítás eredménye egy olyan cellának a keresése, amelybe új értéket lehet elhelyezni. De mindegyikük beillesztése a tömb már rendezett részében történik.

buborék-rendező betétek

Az ilyen feldolgozás gyorsabb és kevesebb számítási komplexitással rendelkezik. A C-kódot a grafikus alkalmazás tartalmazza.

végezzen buborék válogatást

Ez egy olyan függvény formájában is megjelenik, amelybenMint érvek, a megrendelendő tömb nevét és a tömb méretét át kell adni. Itt láthatja, milyen lassú a buborékfajta. A hasonló munkák sokkal gyorsabbak és kompakt formátumúak.

</ p>
  • Értékelés: