Функция deque insert () в C ++ STL
Опубликовано: 30 Декабря, 2021
Функция deque :: insert () - это встроенная функция в C ++, которая используется для вставки элементов в двухстороннюю очередь.
Функцию insert () можно использовать тремя способами:
- Расширяет deque, вставляя новый элемент val в позицию .
- Расширяет двухстороннюю очередь, вставляя в двухстороннюю очередь n новых элементов со значением val .
- Расширяет двухстороннюю очередь, вставляя новый элемент в диапазон [первый, последний) .
Синтаксис:
deque_name.insert (позиция итератора, const value_type и val) или deque_name.insert (позиция итератора, size_type n, const value_type & val) или deque_name.insert (позиция итератора, InputIterator сначала, InputIterator последний)
Параметры: функция принимает четыре параметра, которые указаны ниже:
- position - определяет позицию, в которую элемент / элементы должны быть вставлены.
- val - указывает значение, которое будет присвоено вновь вставленному элементу.
- n - указывает количество вставляемых элементов. Каждый элемент инициализируется копией val.
- first, last - задает итераторы, определяющие диапазон вставляемых элементов. Диапазон включает все элементы между первым и последним, включая элемент, на который указывает первый, но не тот, на который указывает последний.
Возвращаемое значение: функция возвращает итератор, указывающий на первый из вновь вставленных элементов.
Нижеприведенные программы иллюстрируют вышеуказанную функцию:
Программа 1:
// CPP program to illustrate the // deque::insert() function // insert elements by iterator #include <bits/stdc++.h> using namespace std; int main() { deque< int > dq = { 1, 2, 3, 4, 5 }; deque< int >::iterator it = dq.begin(); ++it; it = dq.insert(it, 10); // 1 10 2 3 4 5 std::cout << "Deque contains:" ; for (it = dq.begin(); it != dq.end(); ++it) cout << ' ' << *it; cout << '
' ; return 0; } |
Выход:
В колоде: 1 10 2 3 4 5
Программа 2:
// CPP program to illustrate the // deque::insert() function // program for second syntax #include <bits/stdc++.h> using namespace std; int main() { deque< int > dq = { 1, 2, 3, 4, 5 }; deque< int >::iterator it = dq.begin(); // 0 0 1 2 3 4 5 dq.insert(it, 2, 0); std::cout << "Deque contains:" ; for (it = dq.begin(); it != dq.end(); ++it) cout << ' ' << *it; cout << '
' ; return 0; } |
Выход:
В колоде: 0 0 1 2 3 4 5
Программа 3:
// CPP program to illustrate the // deque::insert() function // program for third syntax #include <bits/stdc++.h> using namespace std; int main() { deque< int > dq = { 1, 2, 3, 4, 5 }; deque< int >::iterator it = dq.begin(); ++it; vector< int > v(2, 10); // 1 10 10 2 3 4 5 dq.insert(it, v.begin(), v.end()); std::cout << "Deque contains:" ; for (it = dq.begin(); it != dq.end(); ++it) cout << ' ' << *it; cout << '
' ; return 0; } |
Выход:
В колоде: 1 10 10 2 3 4 5
Хотите узнать о лучших видео и практических задачах, ознакомьтесь с базовым курсом C ++ для базового и продвинутого уровня C ++ и курсом C ++ STL для базового уровня плюс STL. Чтобы завершить подготовку от изучения языка к DS Algo и многому другому, см. Полный курс подготовки к собеседованию .