美文网首页
4.deque插入和删除

4.deque插入和删除

作者: lxr_ | 来源:发表于2021-04-12 10:39 被阅读0次
#include<iostream>
using namespace std;

#include<deque>

//两端操作
//push_back(elem);尾插
//push_front(elem);头插
//pop_back();尾删
//pop_front();头删

//指定位置操作
//insert(pos, elem);pos位置插入elem的拷贝,并返回新数据的位置
//insert(pos, n, elem);pos位置插入n个elem数据,无返回值
//insert(pos, begin, end);pos位置插入[begin,end]之间的数据,无返回值
//clear();清空所有数据
//erase(begin, end);删除[begin,end]之间的数据,返回下一个数据的位置
//erase(pos);删除pos位置的数据,返回下一个数据的位置
void printdeque(const deque<int> d)
{
    for (deque<int>::const_iterator it = d.begin(); it != d.end(); it++)
    {
        cout << (*it) << " ";
    }
    cout << endl;
}
void test0401()
{
    deque<int> d1;
    for (int i = 0; i < 10; i++)
    {
        d1.push_back(i);
    }
    //尾插
    d1.push_back(0);
    d1.push_back(10);
    printdeque(d1);

    //头插
    d1.push_front(100);
    d1.push_front(200);
    printdeque(d1);

    //尾删
    d1.pop_back();
    d1.pop_back();
    printdeque(d1);

    //头删
    d1.pop_front();
    d1.pop_front();
    printdeque(d1);


}
void test0402()
{
    deque<int> d1;

    d1.push_back(10);
    d1.push_back(20);
    d1.push_back(30);
    d1.push_back(40);

    printdeque(d1);

    d1.insert(d1.begin(), 1000);
    d1.insert(d1.begin(), 3 , 2000);
    printdeque(d1);

    //按照区间插入
    deque<int> d2;
    d2.insert(d2.begin(), d1.begin(), d1.end());//指定位置插入指定区别的数据
    printdeque(d2);

    d2.erase(d2.begin(), d2.end());//删除指定区间数据
    printdeque(d2);

    d1.erase(d1.begin());//删除指定位置数据
    printdeque(d1);

    d1.clear();//清空所有数据
    printdeque(d1);
}

int main()
{
    //test0401();

    test0402();

    system("pause");
    return 0;
}

相关文章

网友评论

      本文标题:4.deque插入和删除

      本文链接:https://www.haomeiwen.com/subject/hhhnkltx.html