Массив векторов в C ++ STL
Предварительные требования: массивы в C ++, векторные в C ++ STL
Массив - это набор элементов, хранящихся в непрерывных ячейках памяти. Он предназначен для одновременного хранения нескольких предметов одного типа. Это упрощает доступ к элементам, хранящимся в нем, по положению каждого элемента.
Векторы известны как динамические массивы с возможностью автоматического изменения размера при вставке или удалении элемента, причем их хранение автоматически обрабатывается контейнером.
Следовательно, массив векторов - это двумерный массив с фиксированным числом строк, где каждая строка является вектором переменной длины. Каждый индекс массива хранит вектор, по которому можно пройти и получить к нему доступ с помощью итераторов.
Синтаксис:
вектор <тип_данных> V [размер];
Пример:
вектор <int> A [5]; где A - массив векторов размера int размера 5
Вставка: вставка в массив векторов выполняется с помощью функции push_back () .
Например:
для i в [0, n) {
  A [i] .push_back (35)
}
Вышеупомянутый псевдокод вставляет элемент 35 в каждый индекс вектора <int> A [n] .
Обход: обход массива векторов выполняется с помощью итераторов.
Например:
для i в [0, n) {
   for (итератор it = A [i] .begin (); 
       это! = A [i] .end (); it ++) {
      печать (* это)
    }
}
Вышеупомянутый псевдокод проходит vector <int> A [n] по каждому индексу, используя начальные итераторы A [i] .begin () и конечные итераторы A [i] .end () . Для доступа к элементу он использует (* it), поскольку итераторы - это указатели, указывающие на элементы в vector <int> A [n] .
Ниже представлена программа для иллюстрации вставки в массив векторов.
| // C++ program to illustrate// array of vectors #include <iostream>#include <vector>usingnamespacestd; // Declaring array of vectors// globallyvector<int> v[5]; // Function for inserting elements// in array of vectorsvoidinsertionInArrayOfVectors(){     for(inti = 0; i < 5; i++) {         // Inserting elements at every        // row i using push_back()        // function in vector        for(intj = i + 1; j < 5; j++) {            v[i].push_back(j);        }    }} // Function to print elements in array// of vectorsvoidprintElements(){     // Traversing of vectors v to print    // elements stored in it    for(inti = 0; i < 5; i++) {         cout <<"Elements at index "             << i <<": ";         // Displaying element at each column,        // begin() is the starting iterator,        // end() is the ending iterator        for(autoit = v[i].begin();             it != v[i].end(); it++) {             // (*it) is used to get the            // value at iterator is            // pointing            cout << *it <<' ';        }        cout << endl;    }} // Function to illustrate array// of vectorsvoidarrayOfVectors(){    // Inserting elements in array    // of vectors    insertionInArrayOfVectors();     // Print elements stored in array    // of vectors    printElements();} // Driver codeintmain(){    arrayOfVectors();    return0;} | 
Элементы с индексом 0: 1 2 3 4 Элементы с индексом 1: 2 3 4 Элементы с индексом 2: 3 4 Элементы с индексом 3: 4 Элементы с индексом 4:
Вниманию читателя! Не прекращайте учиться сейчас. Освойте все важные концепции DSA с помощью самостоятельного курса DSA по доступной для студентов цене и будьте готовы к работе в отрасли. Чтобы завершить подготовку от изучения языка к DS Algo и многому другому, см. Полный курс подготовки к собеседованию .
Если вы хотите посещать живые занятия с отраслевыми экспертами, пожалуйста, обращайтесь к Geeks Classes Live и Geeks Classes Live USA.