multidimensional arrays c
Uloga višedimenzionalnog niza u C ++ s primjerima.
Do sada smo u našim ranijim vodičima vidjeli sve o jednodimenzionalnim nizovima.
C ++ također podržava nizove s više od jedne dimenzije. Oni se nazivaju višedimenzionalni nizovi. Višedimenzionalni nizovi obično su poredani u tabličnom obliku, tj. Redom dur-dur.
=> Ovdje potražite cijelu seriju treninga za C ++.
Što ćete naučiti:
Višedimenzionalni nizovi u C ++
Razmotrimo višedimenzionalni niz dimenzija 3 × 2, tj. 3 reda i 2 stupca.
Ovaj niz predstavljamo na sljedeći način:
R1c1 | R2c2 |
R2c1 | R2c2 |
R3c1 | R3c2 |
Kao što je prikazano u gornjem prikazu, svaka ćelija Npr. R1C1 će sadržavati sadržaj niza.
Broj elemenata prisutnih u višedimenzionalnom nizu umnožak je njegovih dimenzija. To znači da ako su dimenzije niza 3 × 2 onda je broj elemenata u tom nizu umnožak 3 i 2 tj. 6. Slično tome, ako su dimenzije višedimenzionalnog niza (10) (20) (10) tada je broj elemenata u tom nizu 10 * 20 * 10 = 2000.
Dvodimenzionalni niz je najjednostavniji oblik višedimenzionalnog niza koji koristi C ++.
Proglašavanje niza
Općenita deklaracija višedimenzionalnog polja u C ++-u prikazana je u nastavku:
dataType arrayName (size1)(size2)….(sizen);
Ovdje je dataType vrsta podataka niza. Tip podataka trebao bi biti podržan na C ++.
arrayName je ime višedimenzionalnog niza.
Veličina1, veličina2 ... .sezen su veličine svake dimenzije niza.
Na primjer,proglasimo niz veličine 3 × 2 tj. dvodimenzionalni niz, myarray_2d.
int myarray_2d (3)(2);
Dvodimenzionalni niz predstavljen je u obliku redaka i stupaca.
Dakle, gornja deklaracija niza može se predstaviti na sljedeći način:
myarray_2d (0) (0) | myarray_2d (0) (1) |
myarray_2d (1) (0) | myarray_2d (1) (1) |
myarray_2d (2) (0) | myarray_2d (2) (1) |
Kao što je prikazano u gornjoj predstavi, svakom elementu dvodimenzionalnog niza pristupa se kao myarray_2d (i) (j) gdje je i broj retka i kreće se od 0 do n-1 gdje je n veličina dimenzije, a j je broj stupca i kreće se od 0 do m-1 gdje je m dimenzijska veličina stupca.
Inicijalizacija višedimenzionalnih nizova
Možemo inicijalizirati višedimenzionalne nizove slične jednodimenzionalnim nizovima. Multidimenzionalni nizovi inicijaliziraju se redom.
Postoje dva načina na koja možemo inicijalizirati višedimenzionalne nizove.
# 1) Razmotrite niz dimenzija (3) (2) nazvan myarray:
int myarray(3)(2) = {1, 2,3,4,5,6};
Ovdje se inicijalizacija niza odvija slijeva udesno redom po redu. Kako su dimenzije (3) (2), prva dva elementa činit će prvi red i tako dalje.
Slikovni prikaz ove inicijalizacije izgledat će kako je prikazano u nastavku:
jedan | dva |
3 | 4 |
5 | 6 |
# 2) Isti niz prikazan gore može se inicijalizirati na drugačiji način kao što je prikazano u nastavku:
int myarray(3)(2) = { {1,2}, {3,4}, {5,6} };
Ovdje se inicijalizacija vrši slijeva udesno i svaki element odgovara jednom retku. Kako za ovaj niz postoje tri reda, imamo tri unutarnja elementa zatvorena u vitičaste zagrade ({}).
Ovakav način inicijalizacije čitljiviji je i povoljan je kada dimenzije niza rastu.
Pristup višedimenzionalnim nizovima
Multidimenzionalnim elementima niza pristupa se pomoću indeksa redaka i indeksa stupaca.
Da vidimo primjer dvodimenzionalnog niza s dimenzijama (3) (3). Ispod je kod za njegovu inicijalizaciju.
int newarray (3)(3) = { {1, 2, 3}, {4, 5, 6}, {7, 8, 9} };
Ako želim pristupiti drugom elementu u prvom retku i dodijeliti ga cijeloj varijabli, tada će linija koda biti:
int val_2d = newarray(0)(1);
Ispod je primjer programa koji prikazuje deklaraciju, inicijalizaciju i pristup dvodimenzionalnom nizu.
#include using namespace std; int main() { int myarray(3)(3) = {{1,2,3},{4,5,6},{7,8,9}}; for(int i=0;i <3;i++) { for(int j=0;j<3;j++) { cout< Ovaj program daje sljedeće rezultate:
1 2 3 4 5 6 7 8 9
Kao što je prikazano u gornjem programu, dvodimenzionalni niz se deklarira, a zatim inicijalizira. Zatim smo pristupili i ispisali sve elemente niza, postavili smo dva za petlje. Vanjska petlja for je za pristup elementima redom. Unutarnja petlja for djeluje kao brojač za pristup elementima u svakom stupcu.
algoritam sortiranja hrpe c ++
Na taj način pristupamo svakom elementu ovog dvodimenzionalnog niza i prikazujemo ga na zaslonu.
Zaključak
Multidimenzionalni nizovi mogu imati bilo koji broj dimenzija, a kako se broj dimenzija povećava, složenost se također povećava u skladu s tim.
Iako smo u svim gore navedenim primjerima koristili dvodimenzionalne nizove, na sličan način možemo kodirati nizove većih dimenzija.
=> Kliknite ovdje za besplatni tečaj C ++.
Preporučena literatura
- Nizovi u STL-u
- Korištenje nizova s funkcijama na C ++
- C ++ nizovi s primjerima
- VBScript nizovi: Korištenje funkcija DIM, REDIM, Split i Ubound Array
- Umetnite više dokumenata u MongoDB pomoću nizova
- Najbolji BESPLATNI vodiči za C #: Vrhunski vodič za C # za početnike
- Java tipovi podataka, petlje, nizovi, prekidači i tvrdnje
- Napredno skriptiranje ljuske Unixa: nizovi, operateri ispitivanja datoteka i nizova, posebne varijable