📅  最后修改于: 2023-12-03 14:39:50.903000             🧑  作者: Mango
deque是双端队列,可以在两端进行插入和删除操作。insert()函数是deque中用于在任意位置插入一个或多个元素的函数。
iterator insert (iterator position, const value_type& val);
void insert (iterator position, size_type n, const value_type& val);
template <class InputIterator>
void insert (iterator position, InputIterator first, InputIterator last);
函数返回值是一个迭代器,指向插入新元素的第一个位置。
#include <iostream>
#include <deque>
int main() {
// 定义双端队列
std::deque<int> mydeque = {10, 20, 30, 40, 50};
// 在第3个位置插入元素
auto it = mydeque.begin() + 2;
mydeque.insert(it, 999);
// 在第4个位置插入3个元素
it = mydeque.begin() + 3;
mydeque.insert(it, 3, 111);
// 在队尾插入一个区间的元素
std::deque<int> anotherdeque = {9, 8, 7};
mydeque.insert(mydeque.end(), anotherdeque.begin(), anotherdeque.end());
//打印双端队列
for (auto x : mydeque) {
std::cout << x << " ";
}
return 0;
}
输出:
10 20 999 111 111 111 30 40 50 9 8 7
deque的insert()函数可以很方便地插入任意位置的元素,使用时需要注意插入位置的有效性和插入元素的数量。