Двумерный вектор в C++

Двумерный вектор в C++ Программирование и разработка

Вектор используется для создания динамического массива, и размер вектора можно увеличивать и уменьшать, добавляя и удаляя элементы из вектора. Когда вектор объявляется внутри другого вектора, этот вектор называется 2-мерным вектором, который работает как 2-мерный массив. Двумерный вектор содержит несколько строк, каждая из которых является другим вектором. В этом руководстве показано использование двумерного вектора в C ++.

Синтаксис:

Синтаксис двумерного вектора приведен ниже.

vector<vector<data_type>> vector_name;

Конкретный тип данных определяется во время объявления вектора. Если размер вектора не определен, вектор называется пустым вектором. Размер вектора можно изменить, используя различные методы или инициализируя вектор.

Пример 1. Создайте двумерный вектор из равного количества столбцов

В следующем примере показан способ объявления двухмерного вектора из трех строк и четырех столбцов, который содержит символьные данные. Здесь значения вектора были определены в момент вектор декларации и вложенную » для » петли используется для печати значения вектора.

//Include necessary libraries

#include <iostream>

#include <vector>

using namespace std;
int main()
{
/*
Declare a two-dimensional vector
of characters
*/

vector<vector>chrVector
{{‘a’, ‘b’, ‘c’, ‘d’}, {‘e’, ‘f’, ‘g’, ‘h’}, {‘i’, ‘j’, ‘k’, ‘l’}};
//Print the values of the vector
cout<< «The values of the vector are:\n«;
for (int i = 0; i<chrVector.size(); i++)
{
for (int j = 0; j <chrVector[i].size(); j++)
cout<<chrVector[i][j] << » «;
cout<< \n;
}
return 0;
}

Выход:

Следующий вывод появится после выполнения вышеуказанного кода.

В следующем примере показан способ объявления двухмерного вектора из трех строк и четырех столбцов

Пример 2: Создайте двумерный вектор с другим количеством столбцов

В следующем примере показан способ объявления двухмерного вектора из четырех строк, где первая строка содержит один столбец, вторая строка содержит два столбца, третья строка содержит три столбца, а четвертая строка содержит четыре столбца. Вектор инициализации с целым данных и распечатаны с помощью вложенной « для » петли.

//Include necessary libraries

#include <iostream>

#include <vector>

using namespace std;

int main()
{
/*
Initialize the 2D vector with the
integer number where each row contains different
number of elements
*/

vector<vector>intVector
{{20}, {10, 30}, {50, 40, 60 }, {80, 10, 70, 90 }};
//Print the values of the vector using for loop
cout<< «The values of the vector are:\n«;
for (vectorrow :intVector)
{
for (int val : row)
cout<<val<< » «;
cout<< \n;
}
return 0;
}

Выход:

Следующий вывод появится после выполнения вышеуказанного кода.

Вектор инициализации с целым данных и распечатаны с помощью вложенной

Пример 3: Инициализировать двумерный пустой вектор со значением по умолчанию

Способ объявления 2-мерного пустого вектора числа с плавающей запятой и инициализации вектора с числом с плавающей запятой показан в следующем примере. Здесь вложенный цикл for был использован для вставки данных в вектор с помощью функции push_back () и печати значений вектора.

Значение по умолчанию 6.5 было вставлено в вектор путем создания 2 строк и 3 столбцов. Функция size () использовалась для подсчета общего количества строк и столбцов для печати значений вектора.

//Include necessary libraries

#include <iostream>

#include <vector>

using namespace std;

int main()
{
//Set the default value
float default_value = 6.5;
//Define the outer vector
vector<vector>outVect;

for (int i = 0; i< 2; i++)
{
//Define the inner vector
vectorinVect;
for (int j = 0; j < 3; j++) {
//Insert the default value
inVect.push_back(default_value);
}
//Insert the inner vector to outer vector
outVect.push_back(inVect);
}

//Print the values of the vector
cout<< «The values of the vector are:\n«;
for (int i = 0; i<outVect.size(); i++)
{
for (int j = 0; j <outVect[i].size(); j++)
cout<<outVect[i][j] << » «;
cout<< \n;
}
return 0;
}

Выход:

Следующий вывод появится после выполнения вышеуказанного кода. Выходные данные показывают содержимое вектора на основе значения по умолчанию и количества строк и столбцов, созданных кодом.

Выходные данные показывают содержимое вектора на основе значения по умолчанию

Пример 4: Инициализировать двумерный пустой вектор, принимая входные значения

В следующем примере показан способ создания двухмерного вектора, получая данные от пользователя. В коде объявлен двумерный пустой вектор целого числа, который будет содержать 2 строки и 3 столбца.

Вложенная » для » петли используется, чтобы принять 6 (2 × 3) целые числа от пользователя и вставить их в вектор с использованием значений индекса. Еще одна вложенная » для » петли была использовано для печати вставленных значений вектора.

//Include necessary libraries

#include <iostream>

#include <vector>

using namespace std;

int main()
{
//Define the number of cols
int col = 3;
//Define the number of rows
int row = 2;
//Initialize an integer variable
int val = 0;
//Initialize the empty vector
vector< vector>int2DVector;

//Resize the outer vector
int2DVector.resize(row);
for (int i = 0; i< row; i++)
{
//Resize the inner vector
int2DVector[i].resize(col);
for (int j = 0; j < col; j++)
{
//Take input from the user
cout<>val;
//Insert into the vector
int2DVector[i][j] = val;
}
}

//Print the values of the vector
cout<< «The values of the vector are:\n«;
for (int i = 0; i< int2DVector.size(); i++)
{
for (int j = 0; j < int2DVector[i].size(); j++)
cout<< int2DVector[i][j] << » «;
cout<< \n;
}
return 0;
}

Выход:

Следующий вывод появится после выполнения вышеуказанного кода. Выходные данные показывают 6 входных значений и содержимое вектора в зависимости от количества строк и столбцов.

Выходные данные показывают 6 входных значений и содержимое вектора в зависимости от количества строк и столбцов

Заключение

Двумерный вектор используется в программировании на C ++ для хранения и доступа к данным на основе строк и столбцов. В этом уроке на простых примерах были показаны различные способы создания двумерного вектора. Цель использования двумерного вектора в C ++ будет понятна после прочтения этого руководства.

Читайте также:  Основные тенденции в области науки о данных, о которых вы должны знать в 2021 году
Оцените статью
bestprogrammer.ru
Добавить комментарий