📜  C++ STL中的双端队列insert()函数(1)

📅  最后修改于: 2023-12-03 14:59:47.140000             🧑  作者: Mango

C++ STL中的双端队列insert()函数

双端队列(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
注意事项
  • insert()函数返回的是一个迭代器,指向新插入的元素,如果不需要使用迭代器,可以忽略该返回值。
  • 如果要在队列的开头或结尾插入元素,可以使用push_front()和push_back()函数。
  • 如果要一次插入多个元素,可以使用insert()函数的另一个版本,接受两个迭代器作为参数,用于指定要插入的元素范围。