전제 조건: 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 // 열 요소를 저장할 벡터 벡터 |
>
>산출:
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>