InformaticăliceuClasa 10mediu
STL Vector în C++ - Ghid Complet
Tot ce trebuie să știi despre std::vector: declarare, operații, iteratori și exemple practice.
2 luni în urmă
0 vizualizări
25 minute
STL Vector în C++
Ce este std::vector?
Vector este un container dinamic din STL care poate crește/scădea automat.
Declarare și Inițializare
1#include <iostream> 2#include <vector> 3using namespace std; 4 5int main() { 6 // Diferite moduri de declarare 7 vector<int> v1; // Vector gol 8 vector<int> v2(5); // 5 elemente, toate 0 9 vector<int> v3(5, 10); // 5 elemente, toate 10 10 vector<int> v4 = {1, 2, 3, 4, 5}; // Inițializare cu listă 11 vector<int> v5(v4); // Copie a lui v4 12 13 return 0; 14}
Operații de Bază
1#include <iostream> 2#include <vector> 3using namespace std; 4 5int main() { 6 vector<int> v = {1, 2, 3}; 7 8 // Adăugare elemente 9 v.push_back(4); // Adaugă la final: {1, 2, 3, 4} 10 v.insert(v.begin() + 1, 10); // Inserează la poziția 1: {1, 10, 2, 3, 4} 11 12 // Ștergere elemente 13 v.pop_back(); // Șterge ultimul: {1, 10, 2, 3} 14 v.erase(v.begin()); // Șterge primul: {10, 2, 3} 15 16 // Acces elemente 17 cout << v[0] << endl; // Acces direct (fără verificare) 18 cout << v.at(0) << endl; // Acces cu verificare bounds 19 cout << v.front() << endl; // Primul element 20 cout << v.back() << endl; // Ultimul element 21 22 // Informații 23 cout << "Size: " << v.size() << endl; 24 cout << "Capacity: " << v.capacity() << endl; 25 cout << "Empty: " << v.empty() << endl; 26 27 // Redimensionare 28 v.resize(10); // Redimensionează la 10 elemente 29 v.clear(); // Șterge toate elementele 30 31 return 0; 32}
Parcurgere
1vector<int> v = {1, 2, 3, 4, 5}; 2 3// 1. Cu index 4for (int i = 0; i < v.size(); i++) { 5 cout << v[i] << " "; 6} 7 8// 2. Range-based for 9for (int x : v) { 10 cout << x << " "; 11} 12 13// 3. Cu iteratori 14for (auto it = v.begin(); it != v.end(); ++it) { 15 cout << *it << " "; 16}
Algoritmi Utili
1#include <algorithm> 2 3vector<int> v = {5, 2, 8, 1, 9}; 4 5sort(v.begin(), v.end()); // Sortare crescătoare 6sort(v.begin(), v.end(), greater<int>()); // Sortare descrescătoare 7reverse(v.begin(), v.end()); // Inversare 8int maxVal = *max_element(v.begin(), v.end()); // Element maxim 9int sum = accumulate(v.begin(), v.end(), 0); // Sumă
Tutorialul te-a ajutat?
Dacă ai nevoie de ajutor personalizat, găsește un profesor calificat pentru meditații
