U ovom ćemo članku istražiti važnost strukture podataka , različite vrste strukture podataka dostupni u C++, i kako ih učinkovito koristiti u svojim programima.
Što je struktura podataka u C++
The struktura podataka je bitan koncept u programiranju i igra vitalnu ulogu u pohranjivanju i organiziranju podataka. U C++-u se struktura podataka može definirati kao način pohranjivanja podataka i upravljanja podacima u određenom formatu. To omogućuje učinkovit pristup i manipulaciju podacima, što programerima olakšava pisanje i održavanje koda.
U C++, strukture podataka imaju sljedeću sintaksu:
strukturirati ime_strukture {
tip podataka1 ime1 ;
tip podataka2 ime2 ;
tip podataka3 ime3 ;
tip podataka4 ime4 ;
..
..
..
} naziv_objekta ;
U gornjoj sintaksi, struct ključna riječ koristi se za definiranje strukture i ime_strukture je korisnički definirano ime strukture i može varirati. The tip podataka1 je tip podataka člana strukture i ime1 je naziv člana strukture i naziv_objekta je naziv objekta za koji je definirana struktura.
Primjer
U donjem primjeru, struktura Info sastoji se od tri člana: ime, godine, i državljanstvo.
strukturirati Info
{
char Ime [ pedeset ] ;
int državljanstvo ;
int dob ;
}
Pokrenimo ovaj kod u C++, definirali smo sve te članove u strukturi osoba i nismo dodijelili nikakav prostor. U glavnoj funkciji, inicijalizirali smo te članove s određenim vrijednostima i ispisali ih:
#includekoristeći prostor imena std ;
strukturirati Info
{
naziv niza ;
int dob ;
} ;
int glavni ( poništiti ) {
strukturirati Info str ;
str. Ime = 'Zainab' ;
str. dob = 23 ;
cout << 'Ime osobe:' << str. Ime << endl ;
cout << 'Dob osobe: ' << str. dob << endl ;
povratak 0 ;
}
Kod definira strukturu pod nazivom Info s dva atributa: ime i dob. U glavnoj funkciji, nov Info kreira se objekt i dodjeljuje mu se ime i starost. Na kraju, vrijednosti ovih polja se ispisuju na konzolu koristeći cout.
Klasifikacija strukture podataka u C++
U C++-u struktura podataka podijeljen je u dvije široke kategorije: Linearne i nelinearne strukture podataka . Strukture podataka podijeljene su na temelju sljedećih karakteristika:
Karakteristično | Obrazloženje | Primjer |
Linearno | Podaci su raspoređeni u linearnom nizu | Nizovi |
Nelinearni | Stavke podataka nisu u linearnom nizu | Grafikon, stablo |
Statički | Lokacija, veličina i memorija su fiksni | Nizovi |
Dinamičan | Veličina se mijenja ovisno o izvođenju programa | Povezani popis |
Homogena | Predmeti su iste vrste | Nizovi |
Nehomogen | Stavke mogu ali ne moraju biti iste vrste | Strukture |
Kategorije struktura podataka u C++ su:
1: Nizovi
Nizovi su najosnovnije podatkovne strukture C++-a. Niz je skupina elemenata s istim tipom podataka. Nizovi olakšavaju izvođenje operacija na cijelom skupu podataka. Vrijednosti pohranjene u nizovima poznate su kao elementi.
2: Povezani popis
Elementi podataka u povezanoj listi povezani su kroz čvorove. Svaki čvor ima adresu i podatke čvora iza sebe. Oni su najbolji za dodavanje i brisanje čvorova. Povezane liste imaju dvije vrste, jedna je jednostruka, a druga dvostruko povezana lista. U pojedinačno povezanom popisu, prethodni čvor ima podatke čvora nakon njega, ali sljedeći čvor nije svjestan prethodnog čvora. U dvostruko povezanoj listi, smjer je naprijed i natrag.
3: Hrpe
Skupovi su apstraktni tip podataka koji slijedi LIFO (Last in First Out) princip. Ovo pravilo znači da će element koji je posljednji umetnut biti prvi izbrisan. Koriste se s rekurzivnim algoritmima za praćenje unatrag.
4: Repovi
Redovi su također apstraktni tip podataka i slijede FIFO (First in and First Out) pravilo. Ovo pravilo znači da će element koji je prvi umetnut biti prvi izbrisan. Oni su korisni pri rukovanju interpretacijama sustava u stvarnom vremenu.
5: Drveće
Stabla su skup nelinearnih struktura podataka s više čvorova. Dopušta samo jedan brid s dva vrha.
6: Grafikoni
U grafu, svaki čvor je vrh i svaki vrh je povezan s drugim vrhom preko ruba. Sfere su vrhovi, a strelice rubovi, koriste se za implementaciju scenarija iz stvarnog života ili neuronskih mreža. Grafikoni imaju tri različite vrste: neusmjereni graf, dvosmjerni graf i težinski graf.
Izvođenje operacija nad strukturama podataka
Na strukturama podataka u C++ možemo izvesti sljedeće funkcije:
- Umetanje novih podatkovnih elemenata u podatkovne strukture.
- Uklanjanje postojećih podatkovnih elemenata iz strukture podataka.
- Prikažite sve elemente podataka u strukturi podataka.
- Potražite određeni element u strukturi podataka.
- Poredajte sve elemente uzlaznim ili silaznim redoslijedom.
- Kombinirajte elemente iz dvije podatkovne strukture i izradite novu.
Poanta
Strukture podataka u C++ način su učinkovitog rukovanja podacima kako bi im se moglo pristupiti. Važno je odabrati odgovarajuću strukturu podataka za svoj projekt, ako želite dodati podatke uzastopno, odaberite nizove. Razumijevanje koncepta strukture podataka pomoći će vam da svladate umjetnost programiranja i dizajna algoritama.