string array c implementation representation with examples
Niz niza u C ++-u je niz žica. U ovom uputstvu istražit ćemo detalje o predstavljanju i provedbi nizova nizova u C ++:
Vidjeli smo nizove na C ++-u u našim ranijim vodičima. Nizovi nam omogućuju deklariranje elemenata podataka različitih vrsta. Dok su nizovi svih numeričkih vrsta podataka identični u operacijama i implementaciji, a nizovi s nizom vrsta podataka su različiti.
je mrežni sigurnosni ključ isto što i lozinka
U C ++-u niz može biti predstavljen kao niz znakova ili pomoću klase nizova koju podržava C ++. Svaki niz ili element niza završava se nulom. Predstavljanje nizova pomoću polja znakova izravno je preuzeto iz jezika 'C' jer u C. ne postoji vrsta niza
=> Kliknite ovdje za besplatni tečaj C ++.
Što ćete naučiti:
Implementacija nizova nizova
U C ++-u se nizovi mogu predstaviti na tri načina.
- Korištenje dvodimenzionalnih nizova znakova: Ovaj prikaz koristi dvodimenzionalne nizove gdje je svaki element sjecište broja retka i stupca i predstavlja niz
- Upotreba ključne riječi string: Također možemo koristiti ključnu riječ string od C ++ za deklariranje i definiranje nizova nizova.
- Korištenje STL vektora: Možemo koristiti STL vektore u kojima je svaki element vektora niz.
Sada, razgovarajmo o svakoj od gore navedenih metoda i također ćemo vidjeti primjere programiranja za svaku reprezentaciju.
Korištenje dvodimenzionalnih nizova znakova
Nizovi nizova ili niz žica mogu se predstaviti pomoću posebnog oblika dvodimenzionalnih nizova. U ovom predstavljanju koristimo dvodimenzionalni niz znakovnih tipova za predstavljanje niza.
Prva dimenzija određuje broj elemenata, tj. Nizove u tom nizu, a druga dimenzija određuje maksimalnu duljinu svakog elementa u polju.
Dakle, možemo koristiti općeniti prikaz kao što je prikazano u nastavku.
char “stringarrayname” (“number of strings”) (“maximum length of the string”)
Na primjer,razmotrite sljedeću izjavu:
char string_array(10) (20);
Gornja deklaracija deklarira niz nizova pod nazivom 'string_array' koji ima 10 elemenata i duljina svakog elementa nije veća od 20.
Možemo deklarirati i inicijalizirati niz životinja koristeći nizove na sljedeći način:
char animals (5) (10) = {“Lion”, “Tiger”, “Deer”, “Ape”, “Kangaroo”};
Pogledajmo primjer programiranja koji koristi koncept dvodimenzionalnih nizova znakova za bolje razumijevanje koncepta.
#include using namespace std; int main() { char strArray(5) (6) = {'one', 'two', 'three', 'four', 'five'}; cout<<'String array is as follows:'< Izlaz:

U gore navedenom programu proglasili smo niz nizova koji se nazivaju strArray veličine 5 s maksimalnom duljinom svakog elementa kao 10. U programu iniciramo petlju for za prikaz svakog elementa niza. Imajte na umu da samo moramo pristupiti nizu pomoću prve dimenzije za prikaz elementa.
Jednostavan pristup elementima jedna je od glavnih prednosti 2-D nizova. Uistinu ih je jednostavno programirati.
Glavni nedostatak ove vrste predstavljanja su, kako dimenzije niza, tj. Broj elemenata i maksimalna duljina elementa su fiksne i ne mogu se mijenjati kako želimo.
Kao drugo, specificiramo maksimalnu duljinu svakog elementa kao drugu dimenziju tijekom deklaracije niza. Ako je duljina niza navedena kao 100, a imamo sve elemente manje duljine, tada se memorija troši.
Upotreba niza Ključna riječ
U tome koristimo ključnu riječ 'string' u C ++-u za deklariranje niza nizova. Za razliku od nizova znakova, ovdje imamo samo 1D niz. Dimenzija jedini definira broj žica u polju.
Općenita sintaksa za niz deklaracija nizova pomoću ključne riječi string data je u nastavku:
string “array name” (“number of strings”);
Imajte na umu da ovdje ne specificiramo maksimalnu duljinu niza. To znači da nema ograničenja na duljinu elemenata niza.
Kao primjer, možemo navesti niz imena boja na sljedeći način.
string colors(5);
Ovaj niz možemo dalje inicijalizirati kako je prikazano dolje:
string colors(5) = {“Red”, “Green”, “Blue”, “Orange”, “Brown”};
Dolje je dan program C ++ za razumijevanje ključne riječi string i njegove upotrebe u nizu nizova.
#include using namespace std; int main() { string numArray(5) = {'one', 'two', 'three', 'four', 'five'}; cout<<'String array is as follows:'< Izlaz:

Izmijenili smo naš prethodni program za niz znakova i pokazali upotrebu ključne riječi string. Rezultat programa je isti, ali način na koji je postignut je različit jer definiramo niz žica pomoću ključne riječi string.
Imajte na umu da niz nizova koji koristi ključnu riječ string ima prednost u kojoj nemamo ograničenja na duljinu nizova u nizu. Budući da nema ograničenja, ne gubimo i memorijski prostor.
Negativno, ovaj niz ima fiksnu veličinu. Moramo prethodno deklarirati veličinu niza.
Korištenje STL vektora
Također možemo koristiti STL vektore za deklariranje i definiranje dinamičkih nizova. Tako za definiranje niza nizova možemo imati STL vektor tipa string.
Ova deklaracija niza nizova pomoću vektora prikazana je dolje:
vector “stringarray_Name”;
Pozivajući se na gornju deklaraciju, vektor možemo proglasiti 'subjektima' na sljedeći način:
Pitanja i odgovori za ispitivanje automatizacije selena u selenu
vector mysubjects;
Imajte na umu da vektoru možemo dodijeliti elemente pomoću metode 'push_back' ili bilo koje druge STL vektorske metode.
Dolje je dan primjer programiranja koji koristi C ++ za demonstraciju upotrebe STL vektora za predstavljanje niza nizova.
#include #include using namespace std; int main() { vector myNumbers; myNumbers.push_back('one'); myNumbers.push_back('two'); myNumbers.push_back('three'); myNumbers.push_back('four'); myNumbers.push_back('five'); cout<<'String array is as follows:'< Izlaz:

U gornjem programu imamo STL vektor myNumbers tipa string. Dalje, ovom elementu dodajemo elemente pomoću metode push_back, a zatim prikazujemo svaki od elemenata vektora.
Ako vidimo cjelokupni rad STL vektora i niza nizova, vidimo da u ovom slučaju nemamo ograničenje broja elemenata u nizu niti maksimalne duljine svakog elementa. Vidimo da je niz žica koji koriste vektore potpuno dinamičan i da se može dinamički smanjivati ili povećavati.
Kako odabrati prikaz koji će se koristiti?
Sad kad smo vidjeli sva tri prikaza nizova nizova, možemo zaključiti da je od sva tri prikaza vektorski prikaz najbolji jer je dinamičke prirode.
Ovisi o namjeni i zahtjevima niza nizova. Kada imamo zahtjev da nam treba niz nizova fiksne veličine i znamo točne podatke koji će ući u niz nizova, tada možemo ići na niz znakova ili predstavljanje niza.
Kad želimo da niz nizova dinamički raste ili se smanjuje, možemo pribjeći vektorskom predstavljanju jer će nam pomoći u razvoju programa dinamičkom promjenom niza.
Zaključak
Nizovi nizova su posebni nizovi koji imaju podatke kao nizove. To znači da je svaki element niza niz završen null znakom.
Detaljno smo raspravljali o tri prikaza niza nizova, zajedno s njihovim prednostima i nedostacima. Ovisno o našim zahtjevima; možemo koristiti bilo koji prikaz niza nizova koji odgovara našoj implementaciji.
U našim slijedećim vodičima nastavit ćemo detaljno istraživati C ++ nizove i funkcije C ++.
=> Pročitajte seriju Easy C ++ Training Series.
Preporučena literatura
- Vodič za dužinu Java polja s primjerima koda
- Java string sa String Buffer-om i String Builder Tutorial
- Vodič za niz stringa C # - Nizne metode s primjerima koda
- Python string funkcije
- C ++ nizovi s primjerima
- Nizovi u C ++ s primjerima
- Generator slučajnih brojeva C # i generator slučajnih nizova C # s primjerima koda
- Razvrstavanje hrpe u C ++ s primjerima