Teoriechevron_rightTipuri de Date Structurate în C++

Teorie: Tipuri de Date Structurate în C++

Siruri de caractere (string), Structuri, Tablouri unidimensionale (vectori) si multidimensionale (matrice).

Nivel: Intermediarschedule 25 min

account_treeIntroducere

Spre deosebire de tipurile de date simple (care pot memora o singură valoare la un moment dat), tipurile de date structurate permit stocarea și manipularea unor colecții de date, adesea de același tip, sub un singur nume. Acestea sunt fundamentale pentru organizarea eficientă a informațiilor în probleme complexe.

data_array1. Tablouri unidimensionale (Vectori)

Un vector este o structură de date liniară care memorează o secvență de elemente de același tip.

  • Declarare: tip_date nume_vector[dimensiune_maxima];
  • Indexare: Accesarea elementelor se face prin indici, de la 0 până la dimensiune - 1.
int v[100]; // Vector de maxim 100 de numere întregi
v[0] = 15; // Atribuire valoare primului element

grid_on2. Tablouri bidimensionale (Matrice)

O matrice este un tablou cu două dimensiuni (linii și coloane). Poate fi privită ca un "vector de vectori".

  • Declarare: tip_date nume_matrice[numar_linii][numar_coloane];
  • Indexare: Specificând indicele liniei și indicele coloanei.
int a[50][50]; // Matrice cu max 50 linii și 50 coloane
a[2][3] = 7; // Elementul de pe linia 2, coloana 3

sort_by_alpha3. Șiruri de caractere

Sunt tablouri unidimensionale în care fiecare element este de tip char. Un șir se termină mereu cu caracterul nul '\0'.

char s[256] = "Salut"; // 'S', 'a', 'l', 'u', 't', '\0'

functionsFuncții predefinite (biblioteca <cstring>)

strlen(s)

Returnează numărul de caractere (fără '\0').

strcpy(dest, src)

Copiază șirul src în dest.

strcat(dest, src)

Concatenează src la finalul lui dest.

strcmp(s1, s2)

Compară lexicografic (0 dacă sunt egale, <0 sau >0 altfel).

strchr(s, ch)

Caută prima apariție a caracterului ch în s.

strstr(s1, s2)

Caută prima apariție a șirului s2 în s1.

text_formatȘiruri moderne (biblioteca <string>)

În C++ modern se recomandă utilizarea tipului std::string. Acesta gestionează automat memoria și oferă operatori intutivi pentru manipulare.

#include <string>

string s1 = "Salut";
string s2 = " Lume";
string s3 = s1 + s2; // Concatenare: s3 devine "Salut Lume"

if (s1 == "Salut") {
  // Compararea se face direct cu operatorul ==
}

int lungime = s1.length(); // Aflarea lungimii (sau s1.size())

schema4. Structuri (struct)

Permite gruparea mai multor date de tipuri diferite sub un singur nume. Componentele se numesc câmpuri sau membri.

  • Declarare: Se folosește cuvântul cheie struct.
  • Accesare: Câmpurile se accesează prin operatorul punct (.).
struct Elev {
  char nume[50];
  int varsta;
  float medie;
};

Elev e1;
e1.medie = 9.50; // Accesarea câmpului medie
syncSe încarcă statusul...