Vektory v C++ jsou dynamický kontejner založený na poli, který se používá k ukládání kolekce prvků stejného typu. Na rozdíl od polí mohou vektory dynamicky růst nebo zmenšovat velikost, což z nich činí pohodlnou a efektivní datovou strukturu pro ukládání a manipulaci s daty.
Vektor je definován zahrnutím záhlaví a deklarací vektorového objektu. Typ vektoru je uveden v lomených závorkách, za nimiž následuje název proměnné. Například:
#include std::vector myVector;
Jakmile je vektor definován, lze do něj pomocí metody push_back() přidat prvky. Tato metoda připojí nový prvek na konec vektoru. Například:
myVector.push_back(1); myVector.push_back(2); myVector.push_back(3);
Vektory také poskytují přístup k jednotlivým prvkům pomocí operátoru []. Index prvního prvku ve vektoru je 0 a index posledního prvku je size()-1. Například:
std::cout << myVector[0] << std::endl; std::cout << myVector[1] << std::endl; std::cout << myVector[2] << std::endl;
Kromě přidávání prvků poskytují vektory také metody pro vkládání, odebírání a upravování prvků. Metodu insert() lze použít k vložení prvku na konkrétní index ve vektoru. Metodu erase() lze použít k odstranění prvku z určitého indexu ve vektoru. Metodu clear() lze použít k odstranění všech prvků z vektoru.
Vektory také poskytují několik užitečných metod pro iteraci přes prvky ve vektoru. Metoda begin() vrací iterátor ukazující na první prvek ve vektoru a metoda end() vrací iterátor ukazující na poslední prvek ve vektoru. Iterátor lze použít k přístupu k prvkům ve vektoru jeden po druhém, jak ukazuje následující příklad:
std::vector::iterator it; for (it = myVector.begin(); it != myVector.end(); it++) { std::cout << *it << std::endl; }
Vektory také poskytují metodu size(), která vrací počet prvků ve vektoru. To lze použít ke kontrole, zda je vektor prázdný, jak ukazuje následující příklad:
if (myVector.empty()) { std::cout << 'The vector is empty.' << std::endl; } else { std::cout << 'The vector is not empty.' << std::endl; }
Závěrem lze říci, že vektory jsou výkonnou a efektivní datovou strukturou v C++, která poskytuje dynamický kontejner založený na poli pro ukládání a manipulaci s kolekcemi prvků. Vektory poskytují metody pro přidávání, odebírání a upravování prvků a také pro iteraci prvků ve vektoru. Použitím vektorů v C++ můžete napsat stručnější a efektivnější kód pro práci s kolekcemi dat.
Přidání dvou vektorů v C++
myliverriclet
Zde je příklad kódu v C++, který ukazuje, jak přidat 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ýstup
The result of adding the two vectors is: [5, 7, 9]
Vysvětlení:
V tomto kódu funkce addVectors bere dva vektory jako vstup a vrací vektor, který obsahuje součet prvků vstupních vektorů. Hlavní funkce vytvoří dva vektory, vec1 a vec2, a sečte je pomocí funkce addVectors. Výsledek je poté vytištěn na konzole.
Všimněte si, že tento kód předpokládá, že vektory mají stejnou velikost. Pokud mají vektory různé velikosti, funkce addVectors vrátí prázdný vektor a vypíše chybovou zprávu.