Vektori u C++ su spremnik temeljen na dinamičkom nizu koji se koristi za pohranu zbirke elemenata istog tipa. Za razliku od polja, vektori mogu dinamički rasti ili se smanjivati, što ih čini prikladnom i učinkovitom podatkovnom strukturom za pohranjivanje i rukovanje podacima.
Vektor se definira uključivanjem zaglavlja i deklariranjem vektorskog objekta. Tip vektora naveden je u uglastim zagradama, nakon čega slijedi naziv varijable. Na primjer:
#include std::vector myVector;
Nakon što je vektor definiran, elementi mu se mogu dodavati pomoću metode push_back(). Ova metoda dodaje novi element na kraj vektora. Na primjer:
myVector.push_back(1); myVector.push_back(2); myVector.push_back(3);
Vektori također omogućuju pristup pojedinačnim elementima pomoću operatora []. Indeks prvog elementa u vektoru je 0, a indeks zadnjeg elementa je size()-1. Na primjer:
std::cout << myVector[0] << std::endl; std::cout << myVector[1] << std::endl; std::cout << myVector[2] << std::endl;
Uz dodavanje elemenata, vektori također pružaju metode za umetanje, uklanjanje i modificiranje elemenata. Metoda insert() može se koristiti za umetanje elementa na određeni indeks u vektoru. Metoda erase() može se koristiti za uklanjanje elementa iz određenog indeksa u vektoru. Metoda clear() može se koristiti za uklanjanje svih elemenata iz vektora.
Vektori također pružaju nekoliko korisnih metoda za ponavljanje kroz elemente u vektoru. Metoda begin() vraća iterator koji pokazuje na prvi element u vektoru, a metoda end() vraća iterator koji pokazuje na posljednji element u vektoru. Iterator se može koristiti za pristup elementima u vektoru jedan po jedan, kao što je prikazano u sljedećem primjeru:
std::vector::iterator it; for (it = myVector.begin(); it != myVector.end(); it++) { std::cout << *it << std::endl; }
Vektori također pružaju metodu size(), koja vraća broj elemenata u vektoru. Ovo se može koristiti za provjeru je li vektor prazan, kao što je prikazano u sljedećem primjeru:
if (myVector.empty()) { std::cout << 'The vector is empty.' << std::endl; } else { std::cout << 'The vector is not empty.' << std::endl; }
Zaključno, vektori su moćna i učinkovita struktura podataka u C++ koja pruža spremnik temeljen na dinamičkom nizu za pohranu i manipuliranje zbirkama elemenata. Vektori pružaju metode za dodavanje, uklanjanje i modificiranje elemenata, kao i za ponavljanje kroz elemente u vektoru. Korištenjem vektora u C++-u možete napisati sažetiji i učinkovitiji kod za rad sa zbirkama podataka.
Dodavanje dva vektora u C++
alya manasa
Evo primjera koda u C++ koji pokazuje kako dodati dva vektora:
#include #include std::vector addVectors(const std::vector& vec1, const std::vector& vec2) { // Check if the vectors have the same size if (vec1.size() != vec2.size()) { std::cout << 'Error: Vectors must have the same size to add them.' << std::endl; return std::vector(); } // Create a vector to store the result std::vector result(vec1.size()); // Add the elements of vec1 and vec2 and store the result in result for (int i = 0; i < vec1.size(); i++) { result[i] = vec1[i] + vec2[i]; } return result; } int main() { // Create two vectors std::vector vec1 = {1, 2, 3}; std::vector vec2 = {4, 5, 6}; // Add the two vectors std::vector result = addVectors(vec1, vec2); // Print the result std::cout << 'The result of adding the two vectors is: ['; for (int i = 0; i < result.size(); i++) { std::cout << result[i]; if (i != result.size() - 1) { std::cout << ', '; } } std::cout << ']' << std::endl; return 0; }
Izlaz
The result of adding the two vectors is: [5, 7, 9]
Obrazloženje:
U ovom kodu, funkcija addVectors uzima dva vektora kao ulaz i vraća vektor koji sadrži zbroj elemenata ulaznih vektora. Funkcija main stvara dva vektora, vec1 i vec2, te ih zbraja pomoću funkcije addVectors. Rezultat se zatim ispisuje na konzolu.
Imajte na umu da ovaj kod pretpostavlja da vektori imaju istu veličinu. Ako vektori imaju različite veličine, funkcija addVectors vratit će prazan vektor i ispisati poruku o pogrešci.