Ebben a cikkben megvizsgáljuk annak fontosságát adatstruktúrák , a különböző típusú adatstruktúrák elérhető C++ nyelven, és hogyan használhatja őket hatékonyan a programokban.
Mi az adatstruktúra a C++ nyelven
A adatszerkezet nélkülözhetetlen fogalom a programozásban, és létfontosságú szerepet játszik az adatok tárolásában és rendszerezésében. A C++ nyelvben az adatstruktúra úgy definiálható, mint az adatok tárolásának és az adatok meghatározott formátumú kezelésének módja. Ez lehetővé teszi az adatok hatékony elérését és kezelését, megkönnyítve a programozók számára a kód írását és karbantartását.
C++ nyelven a adatstruktúrák a következő szintaxissal rendelkezik:
struct szerkezet_neve {
adattípus1 név1 ;
adattípus2 név2 ;
adattípus3 név3 ;
adattípus4 név4 ;
..
..
..
} obj_name ;
A fenti szintaxisban a struct kulcsszó a szerkezet meghatározására szolgál és szerkezet_neve a struktúra felhasználó által meghatározott neve, és változhat. A adattípus1 a struktúra tagjának adattípusa és név1 a szerkezet tagjának neve és obj_name annak az objektumnak a neve, amelyhez a szerkezet definiálva van.
Példa
Az alábbi példában a szerkezet Info három tagból áll: név életkor, és polgárság.
struct Info
{
char név [ ötven ] ;
int polgárság ;
int kor ;
}
Futtassuk ezt a kódot C++ nyelven, ezeket a tagokat definiáltuk a személy szerkezetében, és nem foglaltunk le helyet. A fő funkcióban ezeket a tagokat meghatározott értékekkel inicializáltuk és kinyomtattuk:
#includenévtér std használatával ;
struct Info
{
karakterlánc neve ;
int kor ;
} ;
int fő- ( üres ) {
struct Info p ;
p. név = 'Zainab' ;
p. kor = 23 ;
cout << 'Személynév:' << p. név << endl ;
cout << 'Személy életkora:' << p. kor << endl ;
Visszatérés 0 ;
}
A kód egy nevű struktúrát határoz meg Info két tulajdonsággal: név és életkor. A fő funkcióban egy új Info létrejön az objektum, és hozzárendeljük a nevét és az életkorát. Végül ezeknek a mezőknek az értékeit a rendszer a cout segítségével kinyomtatja a konzolra.
Az adatszerkezet osztályozása C++ nyelven
C++ nyelven a adatszerkezet két nagy kategóriába sorolható: Lineáris és nemlineáris adatszerkezetek . Az adatstruktúrák a következő jellemzők alapján vannak felosztva:
Jellegzetes | Magyarázat | Példa |
Lineáris | Az adatok lineáris sorrendben vannak elrendezve | Tömbök |
Nem lineáris | Az adatok tételei nem lineáris sorrendben vannak | Grafikon, fa |
Statikus | A hely, a méret és a memória rögzített | Tömbök |
Dinamikus | A méret a program végrehajtásától függően változik | Linkelt lista |
Homogén | Az elemek azonos típusúak | Tömbök |
Nem homogén | A tételek lehetnek azonos típusúak vagy nem | Struktúrák |
A C++ adatstruktúráinak kategóriái a következők:
1: Tömbök
A tömbök a C++ legalapvetőbb adatstruktúrái. A tömb az azonos adattípusú elemek csoportja. A tömbök megkönnyítik a műveletek végrehajtását a teljes adatkészleten. A tömbökben tárolt értékeket elemeknek nevezzük.
2: Linkelt lista
A Linked listában lévő adatok elemei csomópontokon keresztül kapcsolódnak össze. Minden csomópont után a csomópont címe és adatai vannak. Ezek a legjobbak csomópontok hozzáadására és törlésére. A linkelt listáknak két típusa van, az egyik egyetlen, a másik kettős hivatkozású listák. Egy egyedileg csatolt listában az előző csomópont az utána lévő csomópont adatait tartalmazza, de a következő csomópont nem ismeri az előző csomópontot. A duplán linkelt listában az irány előre és hátra is.
3: Stack
A Stacks egy absztrakt adattípus, amely a LIFO (Last in First Out) elvet követi. Ez a szabály azt jelenti, hogy először az utoljára beillesztett elem törlődik. Rekurzív visszakövető algoritmusokkal használatosak.
4: Farok
A sorok egyben absztrakt adattípusok is, és a FIFO (First in and First Out) szabályt követik. Ez a szabály azt jelenti, hogy az elsőként beszúrt elem törlődik először. Hasznosak a valós idejű rendszerértelmezések kezelésében.
5: Fák
A fák több csomóponttal rendelkező nemlineáris adatstruktúrák halmaza. Csak egy élt enged meg két csúcstal.
6: Grafikonok
A gráfban minden csomópont egy csúcs, és minden csúcs egy élen keresztül kapcsolódik egy másik csúcshoz. A gömbök csúcsok, a nyilak élek, valós forgatókönyvek vagy neurális hálózatok megvalósítására szolgálnak. A grafikonoknak három különböző típusa van: irányítatlan gráf, kétirányú gráf és súlyozott gráf.
Műveletek végrehajtása adatstruktúrákon
A következő funkciókat tudjuk végrehajtani az adatstruktúrákon C++ nyelven:
- Új adatelemek beillesztése az adatstruktúrákba.
- Meglévő adatelemek eltávolítása az adatstruktúrából.
- Az adatstruktúra összes adatelemének megjelenítése.
- Keresse meg az adott elemet az adatstruktúrában.
- Rendezd az összes elemet növekvő vagy csökkenő sorrendbe.
- Kombinálja két adatstruktúra elemeit, és hozza létre az újat.
Bottom Line
A C++ adatstruktúrái az adatok hatékony kezelésének módjai, így azok elérhetőek. Fontos, hogy a projektnek megfelelő adatstruktúrát válasszunk, ha szekvenciálisan szeretnénk hozzáadni az adatokat, akkor válasszuk a tömböket. Az adatstruktúra koncepció megértése segít elsajátítani a programozás és az algoritmus tervezés művészetét.