Инициализация вектора

C++C++Beginner
Практиковаться сейчас

💡 Этот учебник переведен с английского с помощью ИИ. Чтобы просмотреть оригинал, вы можете перейти на английский оригинал

Введение

В этом лабораторном занятии мы научимся инициализировать векторы в C++. Вектор представляет собой динамически изменяемый по размеру массив, способный автоматически изменять свой размер в зависимости от количества элементов, которые необходимо вставить или удалить. Векторы обладают большими преимуществами по сравнению с обычными массивами, которые имеют фиксированный размер и статическую природу.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL cpp(("C++")) -.-> cpp/BasicsGroup(["Basics"]) cpp(("C++")) -.-> cpp/ControlFlowGroup(["Control Flow"]) cpp(("C++")) -.-> cpp/IOandFileHandlingGroup(["I/O and File Handling"]) cpp(("C++")) -.-> cpp/StandardLibraryGroup(["Standard Library"]) cpp(("C++")) -.-> cpp/SyntaxandStyleGroup(["Syntax and Style"]) cpp/BasicsGroup -.-> cpp/arrays("Arrays") cpp/ControlFlowGroup -.-> cpp/for_loop("For Loop") cpp/IOandFileHandlingGroup -.-> cpp/output("Output") cpp/IOandFileHandlingGroup -.-> cpp/files("Files") cpp/StandardLibraryGroup -.-> cpp/standard_containers("Standard Containers") cpp/SyntaxandStyleGroup -.-> cpp/code_formatting("Code Formatting") subgraph Lab Skills cpp/arrays -.-> lab-96148{{"Инициализация вектора"}} cpp/for_loop -.-> lab-96148{{"Инициализация вектора"}} cpp/output -.-> lab-96148{{"Инициализация вектора"}} cpp/files -.-> lab-96148{{"Инициализация вектора"}} cpp/standard_containers -.-> lab-96148{{"Инициализация вектора"}} cpp/code_formatting -.-> lab-96148{{"Инициализация вектора"}} end

Создание нового файла на C++

В терминале перейдите в директорию проекта с помощью команды cd. Создайте новый файл на C++ с именем main.cpp с использованием следующей команды:

touch ~/project/main.cpp

Откройте файл с помощью вашего любимого текстового редактора кода.

Инициализация вектора как массива

Создайте и инициализируйте вектор как массив с использованием следующего кода:

// Initializing a vector like an array
vector<int> v{1, 2, 3, 4};

// Print the vector
cout << "The elements of the first vector are: ";
for (int i : v)
{
    cout << i << " ";
}

Это создаст вектор v и инициализирует его четырьмя элементами. Затем мы можем вывести элементы этого вектора с помощью цикла for.

Инициализация вектора из массива

Создайте и инициализируйте вектор из массива с использованием следующего кода:

// Initializing a vector from an array
int a[] = {11, 22, 33};
int n = sizeof(a) / sizeof(a[0]); // number of elements in the array
vector<int> v1(a, a + n); // create and initialize the vector from the array

// Print the vector
cout << "The elements of the second vector are: ";
for (int i : v1)
{
    cout << i << " ";
}

Это создаст массив a и инициализирует его тремя элементами. Затем мы можем вычислить количество элементов в этом массиве, создать вектор v1 и инициализировать его элементами массива. Затем мы можем вывести элементы этого вектора с помощью цикла for.

Инициализация вектора из другого вектора

Создайте и инициализируйте вектор из другого вектора с использованием следующего кода:

// Initializing a vector from another vector
vector<int> a1 = {10, 22, 33};
vector<int> b(a1.begin(), a1.end()); // create and initialize the second vector with the elements of the first vector

// Print the vector
cout << "The elements of the third vector are: ";
for (int i : b)
{
    cout << i << " ";
}

Это создаст вектор a1 и инициализирует его тремя элементами. Затем мы можем создать другой вектор b и инициализировать его элементами вектора a1. Затем мы можем вывести элементы вектора b с помощью цикла for.

Компиляция и запуск кода

Сохраните изменения в файле main.cpp. Скомпилируйте код с использованием следующей команды:

g++ main.cpp -o main

Запустите исполняемый файл с использованием следующей команды:

./main

Просмотр вывода

Просмотрите вывод в терминале. Вы должны увидеть следующий вывод:

The elements of the first vector are: 1 2 3 4

The elements of the second vector are: 11 22 33

The elements of the third vector are: 10 22 33

Резюме

В этом практическом занятии (лабораторной работе) мы научились инициализировать векторы в C++ различными методами. Мы использовали массив для инициализации вектора, инициализировали вектор элементами другого вектора и инициализировали вектор аналогично массиву. Знание различных способов инициализации векторов в C++ поможет нам писать более эффективный и читаемый код.