Mis on C++ andmestruktuur

Mis On C Andmestruktuur



Andmestruktuurid on arvutiteaduse põhikontseptsioon ning C++ pakub laias valikus sisseehitatud ja kasutaja määratletud andmestruktuure, mis on olulised andmete tõhusaks korraldamiseks, manipuleerimiseks ja salvestamiseks. Olenemata sellest, kas olete algaja või kogenud programmeerija, on C++ andmestruktuuride mõistmine optimeeritud algoritmide koostamiseks ja keeruliste probleemide lahendamiseks ülioluline.

Selles artiklis uurime selle tähtsust andmestruktuurid , erinevat tüüpi andmestruktuurid saadaval C++-s ja kuidas neid oma programmides tõhusalt kasutada.

Mis on C++ andmestruktuur

The andmestruktuur on programmeerimisel oluline kontseptsioon ja mängib olulist rolli andmete salvestamisel ja korrastamisel. C++ keeles saab andmestruktuuri defineerida kui viisi, kuidas andmeid salvestada ja andmeid kindlas vormingus hallata. See võimaldab tõhusat juurdepääsu andmetele ja nendega manipuleerimist, muutes programmeerijatel koodi kirjutamise ja haldamise lihtsamaks.







C++ keeles on andmestruktuurid millel on järgmine süntaks:



struktuur struktuuri_nimi {

andmetüüp1 nimi1 ;

andmetüüp2 nimi2 ;

andmetüüp3 nimi3 ;

andmetüüp4 nimi4 ;

..

..

..

} objekti_nimi ;

Ülaltoodud süntaksis on struct märksõna kasutatakse struktuuri määratlemiseks ja struktuuri_nimi on struktuuri kasutaja määratud nimi ja see võib varieeruda. The andmetüüp1 on struktuuri liikme andmetüüp ja nimi1 on struktuuri liikme nimi ja objekti_nimi on selle objekti nimi, mille jaoks struktuur on määratletud.



Näide

Allolevas näites on struktuur Info koosneb kolmest liikmest: nimi, vanus, ja kodakondsus.





struktuur Info

{

char nimi [ viiskümmend ] ;

int kodakondsus ;

int vanus ;

}

Käitame seda koodi C++-s, oleme kõik need liikmed defineerinud struktuuriisik ega eraldanud ruumi. Põhifunktsioonis oleme need liikmed konkreetsete väärtustega lähtestanud ja printinud:

#include

kasutades nimeruumi std ;

struktuur Info

{

stringi nimi ;

int vanus ;



} ;

int peamine ( tühine ) {

struktuur Info lk ;

lk. nimi = 'Zainab' ;

lk. vanus = 23 ;

cout << 'Isiku nimi:' << lk. nimi << endl ;

cout << 'Isiku vanus:' << lk. vanus << endl ;

tagasi 0 ;

}

Kood määratleb struktuuri nimega Info kahe atribuudiga: nimi ja vanus. Põhifunktsioonis uus Info objekt luuakse ning sellele määratakse nimi ja vanus. Lõpuks prinditakse nende väljade väärtused konsooli kasutades cout.



Andmestruktuuri klassifikatsioon C++ keeles

C++ keeles on andmestruktuur on jagatud kahte suurde kategooriasse: Lineaarsed ja mittelineaarsed andmestruktuurid . Andmestruktuurid jagunevad järgmiste tunnuste alusel:

Iseloomulik Selgitus Näide
Lineaarne Andmed on järjestatud lineaarses järjestuses Massiivid
Mittelineaarne Andmete üksused ei ole lineaarses järjestuses Graafik, puu
Staatiline Asukoht, suurus ja mälu on fikseeritud Massiivid
Dünaamiline Suurus muutub sõltuvalt programmi täitmisest Lingitud loend
Homogeenne Esemed on sama tüüpi Massiivid
Mittehomogeenne Üksused võivad olla sama tüüpi, kuid ei pruugi olla Struktuurid

C++ andmestruktuuride kategooriad on järgmised:

1: massiivid

Massiivid on C++ kõige põhilisemad andmestruktuurid. Massiiv on sama andmetüübiga elementide rühm. Massiivid hõlbustavad toimingute sooritamist kogu andmekogumiga. Massiividesse salvestatud väärtusi nimetatakse elementideks.

2: lingitud loend

Lingitud loendis olevate andmete elemendid on ühendatud sõlmede kaudu. Igal sõlmel on pärast seda sõlme aadress ja andmed. Need sobivad kõige paremini sõlmede lisamiseks ja kustutamiseks. Lingitud loendeid on kahte tüüpi, millest üks on ühekordne ja teine ​​​​topeltlingitud loend. Üksiklingitud loendis on eelmisel sõlmel pärast seda oleva sõlme andmed, kuid järgmine sõlm ei ole eelmisest sõlmest teadlik. Topeltlingitud loendis on suund nii edasi kui ka tagasi.

3: virnad

Stacks on abstraktne andmetüüp, mis järgib põhimõtet LIFO (Last in First Out). See reegel tähendab, et viimati sisestatud element kustutatakse esimesena. Neid kasutatakse koos rekursiivsete tagasijälgimise algoritmidega.

4: sabad

Järjekorrad on ka abstraktsed andmetüübid ja järgivad FIFO (First in and First Out) reeglit. See reegel tähendab, et esimesena sisestatud element kustutatakse. Need on abiks reaalajas süsteemitõlgenduste käsitlemisel.

5: puud

Puud on mitme sõlmega mittelineaarsete andmestruktuuride kogum. See võimaldab ainult ühte serva kahe tipuga.

6: graafikud

Graafi puhul on iga sõlm tipp ja iga tipp on serva kaudu seotud teise tipuga. Sfäärid on tipud ja nooled servad, neid kasutatakse reaalse elu stsenaariumide või närvivõrkude rakendamiseks. Graafe on kolme erinevat tüüpi: suunamata graafik, kahesuunaline graaf ja kaalutud graafik.

Toiminguid sooritatakse andmestruktuuridega

Saame C++ andmestruktuurides täita järgmisi funktsioone:

  • Uute andmeelementide sisestamine andmestruktuuridesse.
  • Olemasolevate andmeelementide eemaldamine andmestruktuurist.
  • Kuvage kõik andmestruktuuri andmeelemendid.
  • Otsige andmestruktuurist konkreetset elementi.
  • Järjesta kõik elemendid kasvavas või kahanevas järjekorras.
  • Kombineerige kahe andmestruktuuri elemendid ja looge uus.

Alumine joon

C++ andmestruktuurid on viis andmete tõhusaks käsitlemiseks, et neile oleks juurdepääs. Oluline on valida oma projekti jaoks sobiv andmestruktuur, kui soovite andmeid järjestikku lisada, siis kasutage massiive. Andmestruktuuri kontseptsiooni mõistmine aitab teil omandada programmeerimise ja algoritmide kujundamise kunsti.