Vektory v C++ sú dynamický kontajner založený na poli, ktorý sa používa na ukladanie kolekcie prvkov rovnakého typu. Na rozdiel od polí môžu vektory dynamicky rásť alebo sa zmenšovať, čo z nich robí pohodlnú a efektívnu dátovú štruktúru na ukladanie a manipuláciu s dátami.
Vektor je definovaný zahrnutím hlavičky a deklarovaním vektorového objektu. Typ vektora je špecifikovaný v lomených zátvorkách, za ktorými nasleduje názov premennej. Napríklad:
#include std::vector myVector;
Keď je vektor definovaný, môžu sa doň pridať prvky pomocou metódy push_back(). Táto metóda pripojí nový prvok na koniec vektora. Napríklad:
myVector.push_back(1); myVector.push_back(2); myVector.push_back(3);
Vektory tiež poskytujú prístup k jednotlivým prvkom pomocou operátora []. Index prvého prvku vo vektore je 0 a index posledného prvku je size()-1. Napríklad:
std::cout << myVector[0] << std::endl; std::cout << myVector[1] << std::endl; std::cout << myVector[2] << std::endl;
Okrem pridávania prvkov poskytujú vektory aj metódy na vkladanie, odstraňovanie a upravovanie prvkov. Metódu insert() možno použiť na vloženie prvku na špecifický index vo vektore. Metódu erase() možno použiť na odstránenie prvku zo špecifického indexu vo vektore. Metódu clear() možno použiť na odstránenie všetkých prvkov z vektora.
Vektory tiež poskytujú niekoľko užitočných metód na iteráciu cez prvky vo vektore. Metóda begin() vracia iterátor ukazujúci na prvý prvok vo vektore a metóda end() vracia iterátor ukazujúci na posledný prvok vo vektore. Iterátor možno použiť na prístup k prvkom vo vektore jeden po druhom, ako je znázornené v nasledujúcom príklade:
std::vector::iterator it; for (it = myVector.begin(); it != myVector.end(); it++) { std::cout << *it << std::endl; }
Vektory tiež poskytujú metódu size(), ktorá vracia počet prvkov vo vektore. Toto možno použiť na kontrolu, či je vektor prázdny, ako je znázornené v nasledujúcom príklade:
if (myVector.empty()) { std::cout << 'The vector is empty.' << std::endl; } else { std::cout << 'The vector is not empty.' << std::endl; }
Na záver, vektory sú výkonnou a efektívnou dátovou štruktúrou v C++, ktorá poskytuje dynamický kontajner založený na poli na ukladanie a manipuláciu s kolekciami prvkov. Vektory poskytujú metódy na pridávanie, odstraňovanie a upravovanie prvkov, ako aj na iteráciu cez prvky vo vektore. Použitím vektorov v C++ môžete napísať výstižnejší a efektívnejší kód pre prácu s kolekciami údajov.
Pridanie dvoch vektorov v C++
myliverriclet
Tu je príklad kódu v C++, ktorý ukazuje, ako pridať dva vektory:
#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; }
Výkon
The result of adding the two vectors is: [5, 7, 9]
Vysvetlenie:
V tomto kóde funkcia addVectors berie ako vstup dva vektory a vracia vektor, ktorý obsahuje súčet prvkov vstupných vektorov. Hlavná funkcia vytvorí dva vektory, vec1 a vec2, a spočíta ich pomocou funkcie addVectors. Výsledok sa potom vytlačí na konzolu.
Všimnite si, že tento kód predpokladá, že vektory majú rovnakú veľkosť. Ak majú vektory rôzne veľkosti, funkcia addVectors vráti prázdny vektor a vypíše chybové hlásenie.