Bevezetés a C ++ osztályozásba

Ha megrendelésre kerül az elemek gyűjteménye, a rendezés elősegíti az elemek elrendezését a rekordban a rendelési kapcsolat alapján. Fontolja meg a sok információt tartalmazó fájlrekordot. A listából való hozzáféréshez szükség van egy kulcsmezőre az elem aktuális helyének mutatására. Vegyük például az adatbázisban szereplő nevek listáját, amely betűrendben rendezhető. A válogatás fontos szerepet játszott a számítógépek és a technológia területén. Lássuk többet ebben a cikkben.

Mi a rendezés a C ++-ban?

A rendezés az az alapkoncepció, amelyet a programozó vagy a kutató használ a szükséges bemenetek rendezésére. A komplexitás sorrendjét 0 (N * log (N)) adja meg. A bemenetek rendezése megkönnyíti számos olyan probléma megoldását, mint például a Keresés, a Maximum és a Minimum elem. Bár a válogatás az adatokat sorrendben rendezi, nagyon fontos a folyamat hatékonysága, amely két kritériumon alapul: - Az adott adat rendezéséhez szükséges idő és memória. Az időt a használt kulcsok összehasonlításának megszámlálásával mérjük. Számos algoritmus áll rendelkezésre. Általánosságban elmondható, hogy a C ++ kategóriában történő rendezés két típusra osztható:

  1. Belső rendezés
  2. Külső rendezés

Szintaxis és példa

Szintaxis:

A C ++ a sort () beépített függvényt használja algoritmusaikhoz a konténerek rendezéséhez, mint például vektorok, tömbök.

Rendezés (tömb, tömb + méret);

Példák:

#include
using namespace std;
int main ()
(
int ins(12) = ( 19, 13, 5, 27, 1, 26, 31, 16, 2, 9, 11, 21);
cout<<"\nInput list is \n";
for(int i=0;i<12;i++)
(
cout < )
for(int k=1; k<12; k++)
(
int t = ins(k);
int j= k-1;
while(j>=0 && t <= ins(j))
(
ins(j+1) = ins(j);
j = j-1;
)
ins(j+1) = t;
)
cout<<"\nSorted list is \n";
for(int i=0;i<12;i++)
(
cout < )
)
#include
using namespace std;
int main ()
(
int ins(12) = ( 19, 13, 5, 27, 1, 26, 31, 16, 2, 9, 11, 21);
cout<<"\nInput list is \n";
for(int i=0;i<12;i++)
(
cout < )
for(int k=1; k<12; k++)
(
int t = ins(k);
int j= k-1;
while(j>=0 && t <= ins(j))
(
ins(j+1) = ins(j);
j = j-1;
)
ins(j+1) = t;
)
cout<<"\nSorted list is \n";
for(int i=0;i<12;i++)
(
cout < )
)
#include
using namespace std;
int main ()
(
int ins(12) = ( 19, 13, 5, 27, 1, 26, 31, 16, 2, 9, 11, 21);
cout<<"\nInput list is \n";
for(int i=0;i<12;i++)
(
cout < )
for(int k=1; k<12; k++)
(
int t = ins(k);
int j= k-1;
while(j>=0 && t <= ins(j))
(
ins(j+1) = ins(j);
j = j-1;
)
ins(j+1) = t;
)
cout<<"\nSorted list is \n";
for(int i=0;i<12;i++)
(
cout < )
)

Kimenet:

Hogyan működik?

Először a Gyors rendezést alkalmazzuk, amelyet fontos módszernek tekintünk a különféle rendezési típusok között. Egy tömb alapszintű rendezése Quicksort megközelítést alkalmaz. A rendezés végrehajtásának különböző módjai vannak, ezeknek a technikáknak az a célja, hogy két elem összehasonlítása és az ideiglenes változóval való cseréje legyen. Ebben a cikkben a megvalósításhoz használt legfontosabb válogatást tárgyaljuk. A következők:

  1. Bubble Sort
  2. Beszúrás Rendezés
  3. Gyors rendezés
  4. Kiválasztás Rendezés

Vannak Merge Sort, radix sort, tape tape válogatás, amelyeket később megvitathatunk. Először a Bubble rendezésével járunk.

1. Bubble Sort

A buborékrendezés az egyik legegyszerűbb rendezési módszer, amelyet alkalmazásokhoz használhatunk. Ebben a technikában az egymást követő cserék történnek a rendezendő rekordokon keresztül. Minden lépésben összehasonlítja a kulcsot az adatokkal, és kicseréli az elemeket, ha nem a kívánt sorrendben. A szortírozás a szomszédos elemekkel történik, amikor csak egy elem kerül a rendezett helyre csere után.

Példa: Vegyünk egy válogatott tömböt A () = (6, 2, 4, 7, 1)

62471
A (0)A (1)A (2)A (3)A (4)

1. lépés: Az A (0)> A (1) összehasonlítása, ha a feltétel igaz, cserélje az elemet (6> 2) true-ra, tegye a 2-t A (0) -ba. Hasonlóképpen, az összes lépést ugyanazzal a módszerrel végezzük, amíg a tömb rendezésre nem kerül.

Most a tömb A () = (2, 6, 4, 7, 1)

2. lépés: a 6-ot összehasonlítottuk a 4-gyel. Mivel a 6 nagyobb, mint a 4. Ezért a 6-ot és a 4-t felcseréljük.

Most a tömb A () = (2, 4, 6, 7, 1)

3. lépés: A 6. elemet összehasonlítjuk a 7. elemmel. Mivel a 6 <2 és az elemek növekvő sorrendben vannak, az elemeket nem cseréljük.

A rendezett tömb A () = (2, 4, 6, 7, 1).

Folytassa a folyamatot, amíg a tömb rendezve van.

2. Beszúrás rendezése

Ebben a technikában a második adatelemmel kezdjük azzal a feltételezéssel, hogy az első elem már rendezve van, és összehasonlítást végezzünk a második elemmel, és folytatjuk a lépést a másik következő elemmel. N elem tömbjében N-1 átadás szükséges, hogy rendezett elem legyen.

Vegyünk egy A tömböt () = (8, 3, 6, 1)

8361

1. lépés: Az első elem a cserélendő tömb legnagyobb elemét keresi. Ha nagyobb, akkor ugyanaz marad, és továbbmozdul a második elemhez, itt a 8 nagyobb, mint az összes, csere nem történik.

8361

2. lépés: Csere a második elemmel

3861

3. lépés: Csere a harmadik elemmel

3681

4. lépés: Csere a negyedik elemmel

1368

3. Gyors rendezés

Ez a technika követi az osztási és meghódítási algoritmust, és nagyon hatékonynak, valamint hatalmas tömböknél gyorsabbnak tekinthető. Három alszakaszra vannak osztva: bal, jobb és középső. A középső elemnek egyetlen értéke van, és pivotnak nevezik. A mechanizmus így megy, a bal oldali szegmensben lévő elemnek nem szabad nagyobb a kulcs, mint a középső elemnél, és a jobb oldali elemnek nem kell egy kulcsa, amely kisebb, mint a középső elemé. Most kezdjük a válogatás folyamatának szemléltetésével. A Quicksort rekurzív koncepciót alkalmaz az alrész rendezése során. A tömb részekre oszlik, a bal és a jobb szegmenseket meghódítás útján is megosztjuk. Ebben a példában az utolsó elem forgathatósága figyelembe véve, és az első elem feltételezése alacsony. Vegyünk egy tömb elemet

492211165630

A jobb oldali elem megvételekor a pivot elem = 30

162211305649

A csuklónál nagyobb elem balra helyezkedik el, jobbra kisebb.

1622115649

A mutatót a csuklóhoz helyezzük, és felosztjuk egy forgás körül.

1122165649

Az alrészeket külön-külön rendezik.

111622304956

Végül kapott egy rendezett tömböt.

4. Kiválasztás Rendezés

Ezt a technikát csere-válogatásnak is nevezik, amely kettős művelet-keresést és -válogatást hajt végre. A megvalósítás az alábbiakban meghatározottak szerint egyenes válogatást végez. Itt meg kell határozni a tömbben levő legkisebb elemet, és ezt az elemet az első i-edik helyzetbe kell rendezni, ezután a második legkisebb elem kerül azonosításra, és a második helyzetben van rendezve. A válogatás elhagyja a hurkot, amikor a válogatás nélküli rész üres lesz. Az idő bonyolultságát O (n 2 ) -ben adjuk meg.

Tekintsük a következő tömböt:

6326132312

1. Keresse meg a legkisebb elemet, és tegye az elejére, és felcseréli a helyzetével.

1226132363

2. A második (a) elemet azonosítjuk a minimális elemmel összehasonlítva, és helyezzük a második helyzetbe, hasonlóan, a továbbítás folytatódik.

1213262364

Végső rendezett kimenet

1213232664

Következtetés

Összefoglalva, ez a cikk a koncepciók rendezésére és működési mechanizmusára összpontosított. Ezek a rendezési technikák párhuzamos feldolgozási koncepciókat használnak. A rendezés alapvető építőelemet képez az algoritmusok strukturálásában az adatok valós világbeli problémáinak megoldására az értékhalmaz követelmények szerinti rendezésével.

Ajánlott cikkek

Ez egy útmutató a C ++ szerinti rendezéshez. Itt bemutatjuk a Bevezetést és a Szintaxist példákkal, a Hogyan működik. A további javasolt cikkeken keresztül további információkat is megtudhat -

  1. Rendezés a Tableau-ban
  2. Iterator C ++ nyelven
  3. Tömb funkciók a C-ben
  4. Halom C sorrendben
  5. Hogyan történik a szortírozás a PHP-ben?
  6. Halom Rendezés Pythonban
  7. Iterator Java-ban
  8. A C ++ 11 legfontosabb tulajdonságai és előnyei
  9. Iterator Pythonban A Python előnyei és példái

Kategória: