📅  最后修改于: 2023-12-03 14:59:47.140000             🧑  作者: Mango
双端队列(deque)是STL(标准模板库)中的一种数据类型,它可以在队列两端进行插入和删除操作。在使用双端队列时,我们有时需要在队列中间插入元素。这时,就可以使用STL中的insert()函数了。
iterator insert (iterator position, const value_type& val);
其中,position
表示在哪个元素之前插入新元素,val
为要插入的元素。该函数返回一个迭代器,指向新插入的元素。
下面是一个简单的示例,演示如何使用insert()函数,将新元素插入到双端队列中间。
#include <iostream>
#include <deque>
using namespace std;
int main()
{
deque<int> mydeque = {1, 2, 3, 4, 5};
// 在第3个元素之前插入一个元素6
auto it = mydeque.begin() + 2;
mydeque.insert(it, 6);
// 输出结果
for(auto it = mydeque.begin(); it != mydeque.end(); ++it)
cout << *it << " ";
cout << endl;
return 0;
}
输出结果为:
1 2 6 3 4 5