Hvad er datastruktur i C++

Hvad Er Datastruktur I C



Datastrukturer er et grundlæggende koncept inden for datalogi, og C++ giver en bred vifte af indbyggede og brugerdefinerede datastrukturer, der er essentielle for at organisere, manipulere og lagre data effektivt. Uanset om du er nybegynder eller erfaren programmør, er forståelse af datastrukturer i C++ afgørende for at bygge optimerede algoritmer og løse komplekse problemer.

I denne artikel vil vi undersøge vigtigheden af datastrukturer , de forskellige typer af datastrukturer tilgængelige i C++, og hvordan du bruger dem effektivt i dine programmer.

Hvad er datastruktur i C++

Det datastruktur er et væsentligt koncept i programmering og spiller en afgørende rolle i lagring og organisering af data. I C++ kan en datastruktur defineres som en måde at lagre data på og administrere dataene i et bestemt format. Dette giver mulighed for effektiv adgang og manipulation af dataene, hvilket gør det lettere for programmører at skrive og vedligeholde kode.







I C++ er datastrukturer har følgende syntaks:



struktur strukturnavn {

datatype1 navn1 ;

datatype2 navn2 ;

datatype3 navn3 ;

datatype4 navn4 ;

..

..

..

} obj_navn ;

I ovenstående syntaks er struct søgeord bruges til at definere strukturen og strukturnavn er det brugerdefinerede navn på strukturen, og det kan variere. Det datatype 1 er datatypen for medlemmet af strukturen og navn 1 er navnet på medlemmet af strukturen og obj_navn er navnet på det objekt, som strukturen er defineret for.



Eksempel

I eksemplet nedenfor struktur Info består af tre medlemmer: navn, alder, og borgerskab.





struktur Info

{

char navn [ halvtreds ] ;

int borgerskab ;

int alder ;

}

Lad os køre denne kode i C++, vi har defineret alle disse medlemmer i strukturpersonen og ikke tildelt nogen plads. I hovedfunktionen har vi initialiseret disse medlemmer med specifikke værdier og udskrevet dem:

#include

bruger navneområde std ;

struktur Info

{

strengnavn ;

int alder ;



} ;

int vigtigste ( ugyldig ) {

struktur Info s ;

s. navn = 'Zainab' ;

s. alder = 23 ;

cout << 'Personnavn:' << s. navn << endl ;

cout << 'Personalder:' << s. alder << endl ;

Vend tilbage 0 ;

}

Koden definerer en struktur med navn Info med to attributter: navn og alder. I hovedfunktionen en ny Info objektet oprettes, og dets navn og alder tildeles. Til sidst udskrives værdierne af disse felter til konsollen ved hjælp af cout.



Klassificering af datastruktur i C++

I C++ datastruktur er opdelt i to brede kategorier: Lineære og ikke-lineære datastrukturer . Datastrukturerne er opdelt ud fra følgende karakteristika:

Egenskab Forklaring Eksempel
Lineær Dataene er arrangeret i lineær rækkefølge Arrays
Ikke-lineær Elementerne i dataene er ikke i den lineære rækkefølge Graf, Træ
Statisk Placeringen, størrelsen og hukommelsen er faste Arrays
Dynamisk Størrelsen ændres afhængigt af programmets udførelse Linket liste
Homogen Varerne er af samme type Arrays
Ikke-homogen Varerne kan være af samme type eller ikke Strukturer

Kategorierne af datastrukturer i C++ er:

1: Arrays

Arrays er de mest fundamentale datastrukturer i C++. Arrayet er gruppen af ​​elementer med samme datatype. Arrays gør det nemmere at udføre operationerne på hele datasættet. Værdierne gemt i arrays er kendt som elementer.

2: Sammenkædet liste

Elementerne i dataene i den sammenkædede liste er forbundet via noder. Hver knude har adressen og dataene for knudepunktet efter sig. De er bedst til at tilføje og slette noder. Sammenkædede lister har to typer, den ene er enkeltstående og den anden er dobbeltforbundne lister. I en enkeltforbundet liste har den forrige node nodens data efter sig, men den næste node er ikke opmærksom på den forrige node. I den dobbeltforbundne liste er retningen fremad såvel som bagud.

3: Stabler

Stacks er den abstrakte datatype, der følger LIFO-princippet (Last in First Out). Denne regel betyder, at det element, der til sidst blev indsat, slettes først. De bruges med rekursive backtracking-algoritmer.

4: Haler

Køerne er også den abstrakte datatype og følger FIFO-reglen (First in and First Out). Denne regel betyder, at det element, der er indsat først, slettes først. De er nyttige, når de håndterer systemfortolkninger i realtid.

5: Træer

Træerne er et sæt ikke-lineære datastrukturer med flere noder. Det tillader kun én kant med to spidser.

6: Grafer

I en graf er hver node et toppunkt, og hvert toppunkt er forbundet med et andet toppunkt gennem en kant. Sfærerne er toppunkter, og pilene er kanter, de bruges til at implementere virkelige scenarier eller neurale netværk. Graferne har tre forskellige typer: urettet graf, tovejsgraf og vægtet graf.

Operationer udføres på datastrukturer

Vi kan udføre følgende funktioner på datastrukturer i C++:

  • Indsættelse af nye dataelementer i datastrukturerne.
  • Fjernelse af eksisterende dataelementer fra datastrukturen.
  • Vis alle dataelementerne i datastrukturen.
  • Søg efter det specifikke element i datastrukturen.
  • Arranger alle elementerne i stigende eller faldende rækkefølge.
  • Kombiner elementer fra to datastrukturer og opret den nye.

Bundlinie

Datastrukturerne i C++ er måden at håndtere dataene effektivt på, så de kan tilgås. Det er vigtigt at vælge den passende datastruktur til dit projekt, hvis du vil tilføje dataene sekventielt, så gå efter arrays. Forståelse af datastrukturkonceptet vil hjælpe dig med at mestre kunsten at programmere og algoritmedesign.