Šiame straipsnyje mes išnagrinėsime svarbą duomenų struktūros , įvairių tipų duomenų struktūros C++, ir kaip juos efektyviai naudoti savo programose.
Kas yra duomenų struktūra C++
The duomenų struktūra yra esminė programavimo sąvoka ir atlieka gyvybiškai svarbų vaidmenį saugant ir tvarkant duomenis. C++ kalboje duomenų struktūra gali būti apibrėžta kaip būdas saugoti duomenis ir tvarkyti duomenis tam tikru formatu. Tai leidžia efektyviai pasiekti duomenis ir juos valdyti, todėl programuotojams lengviau rašyti ir prižiūrėti kodą.
C++ kalboje duomenų struktūros turi tokią sintaksę:
struktūra struktūros_pavadinimas {
duomenų tipas1 pavadinimas1 ;
duomenų tipas2 pavadinimas2 ;
duomenų tipas3 pavadinimas3 ;
duomenų tipas4 pavadinimas4 ;
..
..
..
} objekto_vardas ;
Aukščiau pateiktoje sintaksėje struktūrinis raktinis žodis naudojamas struktūrai apibrėžti ir struktūros_pavadinimas yra vartotojo apibrėžtas struktūros pavadinimas ir jis gali skirtis. The duomenų tipas1 yra struktūros nario duomenų tipas ir vardas1 yra struktūros nario pavadinimas ir objekto_vardas yra objekto, kuriam apibrėžta struktūra, pavadinimas.
Pavyzdys
Žemiau pateiktame pavyzdyje struktūra Informacija susideda iš trijų narių: vardas, amžius, ir pilietybe.
struktūra Informacija
{
char vardas [ penkiasdešimt ] ;
tarpt pilietybe ;
tarpt amžiaus ;
}
Paleiskite šį kodą C++, visus šiuos narius apibrėžėme struktūros asmenyje ir nepaskyrėme vietos. Pagrindinėje funkcijoje šiuos narius inicijavome konkrečiomis reikšmėmis ir atspausdinome:
#includenaudojant vardų sritį std ;
struktūra Informacija
{
eilutės pavadinimas ;
tarpt amžiaus ;
} ;
tarpt pagrindinis ( tuštuma ) {
struktūra Informacija p ;
p. vardas = 'Zainab' ;
p. amžiaus = 23 ;
cout << 'Asmens vardas:' << p. vardas << endl ;
cout << 'Asmens amžius:' << p. amžiaus << endl ;
grąžinti 0 ;
}
Kodas apibrėžia struktūrą pavadintą Informacija su dviem atributais: vardas ir amžius. Pagrindinėje funkcijoje naujas Informacija sukuriamas objektas ir priskiriamas jo pavadinimas bei amžius. Galiausiai šių laukų reikšmės atspausdinamos į konsolę naudojant cout.
Duomenų struktūrų klasifikavimas C++
C++ kalboje duomenų struktūra yra padalintas į dvi dideles kategorijas: Linijinės ir netiesinės duomenų struktūros . Duomenų struktūros skirstomos pagal šias charakteristikas:
Charakteristika | Paaiškinimas | Pavyzdys |
Linijinis | Duomenys išdėstyti tiesine seka | Masyvai |
Netiesinis | Duomenų elementai nėra tiesine seka | Grafikas, medis |
Statinis | Vieta, dydis ir atmintis yra fiksuoti | Masyvai |
Dinamiškas | Dydis keičiasi priklausomai nuo programos vykdymo | Susietas sąrašas |
Homogeninis | Daiktai yra to paties tipo | Masyvai |
Nehomogeniškas | Elementai gali būti to paties tipo arba ne | Struktūros |
C++ duomenų struktūrų kategorijos yra šios:
1: masyvai
Masyvai yra pagrindinės C++ duomenų struktūros. Masyvas yra elementų, turinčių tą patį duomenų tipą, grupė. Masyvai leidžia lengviau atlikti viso duomenų rinkinio operacijas. Masyvuose saugomos reikšmės yra žinomos kaip elementai.
2: susietas sąrašas
Susietų sąrašo duomenų elementai yra sujungti per mazgus. Kiekvienas mazgas turi po jo esančio mazgo adresą ir duomenis. Jie geriausiai tinka mazgams pridėti ir ištrinti. Susieti sąrašai yra dviejų tipų: vienas yra vienas, o kitas yra dvigubai susieti sąrašai. Atskirai susietame sąraše ankstesnis mazgas turi po jo esančio mazgo duomenis, bet kitas mazgas nežino apie ankstesnį mazgą. Dvigubai susietame sąraše kryptis yra tiek pirmyn, tiek atgal.
3: krūvos
Stacks yra abstraktus duomenų tipas, kuris vadovaujasi LIFO (Last in First Out) principu. Ši taisyklė reiškia, kad pirmiausia bus ištrintas pagaliau įterptas elementas. Jie naudojami su rekursiniais atgalinio sekimo algoritmais.
4: Uodegos
Eilės taip pat yra abstrakčių duomenų tipas ir atitinka FIFO (pirmas įėjimas ir pirmasis išėjimas) taisyklę. Ši taisyklė reiškia, kad pirmas įterptas elementas bus ištrintas pirmiausia. Jie yra naudingi tvarkant sistemos interpretacijas realiuoju laiku.
5: medžiai
Medžiai yra netiesinių duomenų struktūrų rinkinys su keliais mazgais. Tai leidžia tik vieną kraštą su dviem viršūnėmis.
6: grafikai
Grafe kiekvienas mazgas yra viršūnė, o kiekviena viršūnė yra susieta su kita viršūne per kraštą. Sferos yra viršūnės, o rodyklės yra briaunos, jos naudojamos realaus gyvenimo scenarijus ar neuroninius tinklus įgyvendinti. Grafikai yra trijų skirtingų tipų: nenukreiptas grafikas, dvikryptis grafikas ir svertinis grafikas.
Operacijos atliekamos su duomenų struktūromis
C++ duomenų struktūrose galime atlikti šias funkcijas:
- Naujų duomenų elementų įterpimas į duomenų struktūras.
- Esamų duomenų elementų pašalinimas iš duomenų struktūros.
- Rodyti visus duomenų elementus duomenų struktūroje.
- Ieškokite konkretaus elemento duomenų struktūroje.
- Išdėstykite visus elementus didėjančia arba mažėjančia tvarka.
- Sujunkite elementus iš dviejų duomenų struktūrų ir sukurkite naują.
Apatinė eilutė
Duomenų struktūros C++ yra būdas efektyviai tvarkyti duomenis, kad juos būtų galima pasiekti. Svarbu pasirinkti tinkamą duomenų struktūrą savo projektui, jei norite pridėti duomenis nuosekliai, tada eikite į masyvus. Duomenų struktūros koncepcijos supratimas padės įsisavinti programavimo ir algoritmų kūrimo meną.