logo

예제가 포함된 C++ STL의 벡터 벡터

전제 조건: C++ STL의 벡터

벡터 요소가 삽입되거나 삭제될 때 자동으로 크기를 조정하는 기능을 갖춘 동적 배열로 알려져 있으며 해당 스토리지는 컨테이너에 의해 자동으로 처리됩니다.



벡터의 벡터2차원 벡터 각 행이 벡터인 가변 개수의 행이 있습니다. 벡터의 각 인덱스는 다음을 사용하여 탐색하고 액세스할 수 있는 벡터를 저장합니다. 반복자 . 이는 다음과 유사합니다. 벡터 배열 하지만 동적 속성이 있습니다.

통사론:

vector vec;>

예:



 vector vec{ { 1, 2, 3 }, { 4, 5, 6 }, { 7, 8, 9, 4 } }; where vec is the vector of vectors with different number of elements in different rows>

벡터의 벡터에 삽입

요소는 다음을 사용하여 벡터에 삽입될 수 있습니다. push_back() C++ STL의 기능.

아래 예에서는 벡터 벡터에 삽입 작업을 보여줍니다. 코드는 push_back() 함수를 사용하여 2D 벡터를 생성한 다음 행렬을 표시합니다.



통사론:

vector_name.push_back(value) where value refers to the element to be added in the back of the vector>

예시 1:

 v2 = {1, 2, 3} v1.push_back(v2);>

이 함수는 벡터 v2를 벡터 v1의 벡터로 푸시합니다. 따라서 v1은 {{1, 2, 3} }이 됩니다.

예시 2:

비교 가능한 문자열
 v2 = {4, 5, 6} v1.push_back(v2);>

이 함수는 벡터 v2를 벡터 v1의 기존 벡터에 푸시하고 v1은 v1 = { {1, 2, 3}, {4, 5, 6} }가 됩니다.

다음은 벡터의 벡터에 삽입하는 방법을 보여주는 예입니다.




// C++ program to demonstrate insertion> // into a vector of vectors> > #include> #include> using> namespace> std;> > // Defining the rows and columns of> // vector of vectors> #define ROW 4> #define COL 5> > int> main()> {> >// Initializing the vector of vectors> >vectorint>> vec; // 컬럼에 삽입할 요소 int num = 10; // 벡터에 요소 삽입 for (int i = 0; i // 열 요소를 저장할 벡터 벡터 v1; for (int j = 0; j v1.push_back(num); num += 5; } // 1D 벡터 위로 푸시하여 // 2D 벡터를 생성 vec.push_back(v1); } // 2D 벡터 표시 for (int i = 0; i for (int j = 0; j cout)<< vec[i][j] << ' '; cout << endl; } return 0; }>

>

>

산출:

 10 15 20 25 30 35 40 45 50 55 60 65 70 75 80 85 90 95 100 105>

벡터의 벡터에서 제거 또는 삭제

CSS에서 배경으로 이미지

다음을 사용하여 벡터로 구성된 벡터에서 요소를 제거할 수 있습니다. 팝백() C++ STL의 기능.

아래 예에서는 벡터 벡터의 제거 작업을 보여줍니다. 코드는 pop_back() 함수를 사용하여 2D 벡터에서 요소를 제거한 다음 행렬을 표시합니다.
통사론:

vector_name[row_position].pop_back()>

예시 1: 벡터의 벡터를 벡터 v = { { 1, 2, 3 }, { 4, 5, 6 }, { 7, 8, 9 } }

 v[2].pop_back()>

이 함수는 마지막 행 벡터에서 요소 9를 제거합니다. 따라서 v는 {{ 1, 2, 3 }, { 4, 5, 6 }, { 7, 8 } }이 됩니다.

예시 2:

다중 테이블 SQL 선택
 v[1].pop_back()>

이 함수는 마지막 두 번째 행 벡터에서 요소 6을 제거합니다. 따라서 v는 {{ 1, 2, 3 }, { 4, 5 }, { 7, 8 } }이 됩니다.

다음은 벡터의 벡터에서 제거를 보여주는 예입니다.




// C++ program to demonstrate removal> // from a vector of vectors> > #include> #include> using> namespace> std;> > // Driver Method> int> main()> {> >// Initializing 2D vector 'vect' with> >// sample values> >vectorint>> vec{ { 1, 2, 3 }, { 4, 5, 6 }, { 7, 8, 9 } }; // 벡터의 // 마지막 행에서 요소 제거 vec[2].pop_back(); vec[1].pop_back(); // (int i = 0; i에 대한 2D 벡터 표시<3; i++) { for ( auto it = vec[i].begin(); it != vec[i].end(); it++) cout << *it << ' '; cout << endl; } return 0; }>

>

>

산출:

 1 2 3 4 5 7 8>

벡터의 벡터 순회

벡터의 벡터는 다음을 사용하여 탐색할 수 있습니다. 반복자 C++에서. 다음 코드는 2D 벡터의 순회를 보여줍니다.

통사론:

 for i in [0, n) { for (iterator it = v[i].begin(); it != v[i].end(); it++) { // Operations to be done // For example to print print(*it) } }>

다음은 벡터 벡터의 순회를 보여주는 예입니다.




// C++ code to demonstrate traversal> // of a 2D vector> > #include> #include> using> namespace> std;> > // Driver Method> int> main()> {> >// Initializing 2D vector 'vect' with> >// sample values> >vectorint>> vec{ { 1, 2, 3 }, { 4, 5, 6 }, { 7, 8, 9 } }; // (int i = 0; i에 대한 2D 벡터 표시<3; i++) { for ( auto it = vec[i].begin(); it != vec[i].end(); it++) cout << *it << ' '; cout << endl; } return 0; }>

팬더 반복
>

>

산출:

 1 2 3 4 5 6 7 8 9>