Tablouri unidimensionale (vectori)

Un tablou unidimensional, numit și vector, este o structură de date omogenă care memorează mai multe valori de același tip în locații de memorie consecutive, fiecare valoare fiind identificată printr-un indice.

În programare ajungem foarte des în situația de a prelucra nu una, ci zeci, sute sau chiar mii de valori de același fel: notele unei clase, temperaturile dintr-o lună sau scorurile dintr-un joc. Ar fi nepractic să folosim câte o variabilă separată pentru fiecare, așa că avem nevoie de o structură care să le țină pe toate la un loc. Exact acest rol îl îndeplinește vectorul: rezervă o singură zonă continuă de memorie în care valorile sunt așezate una după alta, sub un nume comun.

Cuvântul omogen din definiție este esențial: toate elementele unui vector au același tip de dată. Un vector poate conține numai numere întregi, numai numere reale sau numai caractere, niciodată un amestec. Atât tipul elementelor, cât și numărul maxim de elemente se stabilesc atunci când declarăm vectorul.

Cel mai simplu, putem privi un vector ca pe o înșiruire de „căsuțe” alăturate, fiecare păstrând câte o valoare:

Tablou unidimensional reprezentat ca un șir de căsuțe
Un vector V cu n elemente, numerotate de la 0 la n-1

Fiecare „căsuță” are o poziție bine definită în vector, numită indice. În limbajul C++ numerotarea indicilor începe de la 0, prin urmare un vector cu n elemente are pozițiile valide cuprinse între 0 și n-1. Ne referim la elementul de pe poziția k prin notația v[k]: astfel, v[0] este primul element, iar v[n-1] este ultimul.

Faptul că elementele sunt așezate ordonat și pot fi accesate instantaneu după indice face din vectori una dintre cele mai folosite structuri de date din clasa a IX-a și de la examenul de Bacalaureat. În paginile următoare vom învăța, pas cu pas, cum declarăm un vector, cum îi citim și afișăm elementele, cum inserăm și ștergem valori, cum căutăm un element și cum folosim doi vectori speciali foarte des întâlniți: vectorul caracteristic și vectorul de frecvență.

Declararea vectorilor

Declararea tablourilor unidimensionale (vectorilor) în C++: sintaxa de bază, alegerea tipului și a dimensiunii, referirea la elemente prin indice și declararea cu valori inițiale.

Citește tot
Citirea și afișarea elementelor

Citirea și afișarea elementelor unui vector (tablou unidimensional) în C++: parcurgerea cu structuri repetitive, citirea unui număr cunoscut sau necunoscut de elemente, de la tastatură sau din fișier.

Citește tot
Inserarea elementelor

Inserarea unui element într-un tablou unidimensional (vector) în C++: cum eliberăm o poziție prin deplasarea elementelor la dreapta și problemă rezolvată pas cu pas.

Citește tot
Ștergerea elementelor

Ștergerea unui element dintr-un tablou unidimensional (vector) în C++: cum suprascriem valoarea prin deplasarea elementelor la stânga, plus o variantă eficientă de eliminare în masă.

Citește tot
Căutarea secvențială

Căutarea secvențială (liniară) într-un vector: parcurgerea element cu element pentru a regăsi o valoare, găsirea primei apariții și complexitatea metodei.

Citește tot
Căutarea binară

Căutarea binară într-un vector ordonat: cum înjumătățim repetat intervalul de căutare, implementarea corectă în C++ și complexitatea logaritmică O(log n).

Citește tot
Vectorul caracteristic

Vectorul caracteristic marchează cu 0 sau 1 prezența unor valori (de obicei cifre) într-un șir. Definiție, mod de folosire și problemă rezolvată în C++.

Citește tot
Vectorul de frecvență

Vectorul de frecvență numără de câte ori apare fiecare valoare (de obicei cifrele) într-un șir. Definiție, legătura cu vectorul caracteristic și problemă rezolvată în C++.

Citește tot