string array c implementation representation with examples
O matrice de șiruri în C ++ este o matrice de șiruri. În acest tutorial, vom căuta în detaliile reprezentării și implementării matricilor de șiruri în C ++:
Am văzut matrici în C ++ în tutorialele noastre anterioare. Tablourile ne permit să declarăm elemente de date de diferite tipuri. În timp ce toate matricile tipurilor de date numerice sunt identice în operațiuni și implementare, iar matricile cu tip de date șir sunt diferite.
care este cel mai bun downloader gratuit de muzică pentru Android
În C ++, șirul poate fi reprezentat ca o matrice de caractere sau folosind clasa de șiruri care este acceptată de C ++. Fiecare șir sau element de matrice este terminat de un caracter nul. Reprezentarea șirurilor folosind o matrice de caractere este preluată direct din limbajul „C”, deoarece nu există niciun tip de șir în C.
=> Faceți clic aici pentru cursul gratuit C ++.
Ce veți învăța:
Implementarea matricilor de șiruri
În C ++, șirurile pot fi reprezentate folosind trei moduri.
- Utilizarea matricilor de caractere bidimensionale: Această reprezentare utilizează matricile bidimensionale în care fiecare element este intersecția unui număr de rând și coloană și reprezintă un șir
- Utilizarea cuvântului cheie șir: De asemenea, putem folosi cuvântul cheie șir din C ++ pentru a declara și defini matricele de șiruri.
- Utilizarea vectorilor STL: Putem folosi vectori STL în care fiecare element al unui vector este un șir.
Acum, să discutăm fiecare dintre metodele de mai sus și să vedem și exemplele de programare pentru fiecare reprezentare.
Utilizarea matricilor de caractere bidimensionale
Matrice de șiruri sau o serie de șiruri pot fi reprezentate folosind o formă specială de matrice bidimensionale. În această reprezentare, folosim o matrice bidimensională de caractere de tip pentru a reprezenta un șir.
Prima dimensiune specifică numărul de elemente, adică șirurile din acel tablou și a doua dimensiune specifică lungimea maximă a fiecărui element din matrice.
Deci putem folosi o reprezentare generală așa cum se arată mai jos.
char “stringarrayname” (“number of strings”) (“maximum length of the string”)
De exemplu,ia în considerare următoarea declarație:
char string_array(10) (20);
Declarația de mai sus declară o matrice de șiruri numite „string_array” care are 10 elemente și lungimea fiecărui element nu este mai mare de 20.
Putem declara și inițializa o serie de animale folosind șiruri în felul următor:
char animals (5) (10) = {“Lion”, “Tiger”, “Deer”, “Ape”, “Kangaroo”};
Să vedem un exemplu de programare folosind conceptul de matrice de caractere bidimensionale pentru a înțelege mai bine conceptul.
#include using namespace std; int main() { char strArray(5) (6) = {'one', 'two', 'three', 'four', 'five'}; cout<<'String array is as follows:'< Ieșire:

În programul de mai sus, am declarat o matrice de șiruri numite strArray de dimensiunea 5 cu lungimea maximă a fiecărui element ca 10. În program, inițiam o buclă for pentru a afișa fiecare element al matricei. Rețineți că trebuie să accesăm tabloul folosind prima dimensiune pentru a afișa elementul.
Accesul ușor la elemente este unul dintre avantajele majore ale matricilor 2-D. Sunt într-adevăr simple de programat.
Dezavantajul major al acestui tip de reprezentare este, atât dimensiunile matricei, adică numărul de elemente, cât și lungimea maximă a elementului sunt fixe și nu pot fi modificate așa cum dorim.
În al doilea rând, specificăm lungimea maximă a fiecărui element ca a doua dimensiune în timpul declarației matricei. Dacă lungimea șirului este specificată ca 100 și avem toate elementele cu o lungime mai mică, atunci memoria este irosită.
Folosind șir de cuvinte cheie
În aceasta, folosim cuvântul cheie „șir” în C ++ pentru a declara o serie de șiruri. Spre deosebire de matricile de caractere, aici avem doar matrice 1D. Singura dimensiune specifică numărul de șiruri din matrice.
Sintaxa generală pentru o serie de declarații de șiruri folosind cuvântul cheie șir este dată mai jos:
string “array name” (“number of strings”);
Rețineți că nu specificăm aici lungimea maximă a șirului. Aceasta înseamnă că nu există nicio limitare a lungimii elementelor matricei.
De exemplu, putem declara o serie de nume de culori în felul următor.
întrebări și răspunsuri de interviu pentru MySQL pentru o experiență de 3 ani
string colors(5);
Putem inițializa în continuare această matrice așa cum se arată mai jos:
string colors(5) = {“Red”, “Green”, “Blue”, “Orange”, “Brown”};
Dat mai jos este un program C ++ pentru a înțelege cuvântul cheie șir și utilizarea acestuia într-o serie de șiruri.
#include using namespace std; int main() { string numArray(5) = {'one', 'two', 'three', 'four', 'five'}; cout<<'String array is as follows:'< Ieșire:

Am modificat programul nostru anterior de matrice de caractere și am demonstrat utilizarea cuvântului cheie șir. Rezultatul programului este același, dar modul în care este realizat este diferit, deoarece definim o matrice de șiruri folosind cuvântul cheie șir.
Rețineți că matricea de șiruri care utilizează cuvântul cheie șir are un avantaj în care nu avem limitări asupra lungimii șirurilor din matrice. Deoarece nu există nicio limitare, nu pierdem și spațiul de memorie.
Dezavantajul este că această matrice are o dimensiune fixă. Trebuie să declarăm în prealabil dimensiunea matricei.
Utilizarea vectorilor STL
Putem folosi, de asemenea, vectori STL pentru declararea și definirea matricilor dinamice. Astfel, pentru a defini o serie de șiruri putem avea un vector STL de tip șir.
Această declarație a unei matrice de șiruri folosind vectorul este prezentată mai jos:
vector “stringarray_Name”;
Referindu-ne la declarația de mai sus, putem declara un vector „subiecți” în felul următor:
vector mysubjects;
Rețineți că putem atribui elemente vectorului folosind metoda „push_back” sau orice altă metodă vector STL.
Mai jos este un exemplu de programare folosind C ++ pentru a demonstra utilizarea vectorului STL pentru a reprezenta o serie de șiruri.
#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:'< Ieșire:

În programul de mai sus, avem un vector STL myNumbers de tip șir. Apoi, adăugăm elemente la acest vector folosind metoda push_back și apoi afișăm fiecare dintre elementele vectorului.
Dacă vedem întreaga funcționare a vectorului STL și a matricei de șiruri, vedem că, în acest caz, nu avem o limită pentru numărul de elemente din matrice sau lungimea maximă a fiecărui element. Vedem că matricea de șiruri care utilizează vectori este complet dinamică și poate fi redusă sau crescută dinamic.
Cum să selectați reprezentarea de utilizat?
Acum că am văzut toate cele trei reprezentări ale matricilor de șiruri, putem concluziona că dintre toate cele trei reprezentări, reprezentarea vectorială este cea mai bună, deoarece are o natură dinamică.
Depinde de scopul și cerințele matricei de șiruri. Când avem cerința că avem nevoie de o matrice de șiruri de dimensiuni fixe și cunoaștem datele exacte care vor intra într-o matrice de șiruri, atunci putem merge pentru matrice de caractere sau reprezentare de șiruri.
Când dorim ca matricea de șiruri să crească sau să se micșoreze dinamic, putem apela la reprezentarea vectorială, deoarece ne va ajuta să dezvoltăm programe prin schimbarea dinamică a matricei.
Concluzie
Matricele de șiruri sunt matrice speciale care au date ca șiruri. Aceasta înseamnă că fiecare element al matricei este un șir terminat de un caracter nul.
Am discutat în detaliu trei reprezentări ale unei matrici de șiruri, împreună cu argumentele pro și contra. În funcție de cerințele noastre; putem folosi orice reprezentare a matricei de șiruri care se potrivește implementării noastre.
În tutorialele noastre ulterioare, vom continua să explorăm în detaliu șirurile C ++ și funcțiile C ++.
=> Citiți seria Easy C ++ Training.
Lectură recomandată
- Tutorial Java Array Length cu exemple de cod
- Java String cu buffer de șiruri și tutorial pentru generatorul de șiruri
- Tutorial C # String - Metode de șiruri cu exemple de coduri
- Funcții Python String
- Matrice C ++ cu exemple
- Șiruri în C ++ cu exemple
- C # Număr aleatoriu și C # Generator de șiruri aleatorii cu exemple de cod
- Sortare în grămadă în C ++ cu exemple