// deque 的插入操作
#include <bits/stdc++.h>

using namespace std;

template <typename T>
void print(deque<T> &dq)
{
    typename deque<T>::iterator it = dq.begin();
    while (it != dq.end())
    {
        cout << *it << " ";
        it++;
    }
    cout << endl;
}

int main()
{
    deque<string> d1(5, "disen");
    print(d1);

    d1.insert(d1.begin() + 1, "jack");
    print(d1);

    string m[] = {"a", "b", "c", "d", "e"};
    // 将 m 中的 bcd 插入到 d1 中的 第二个 disen 后面
    d1.insert(d1.begin() + 3, m + 1, m + 4);
    print(d1);

    return 0;
}
