3.3 deque容器

 

vector对头部的插入删除需要移动元素

deque头端也是开的

vector内部结构是一段连续空间

 

 

中控器维护,像一段连续的空间

访问元素速度没有vector快,因为内部的实现

deque容器的迭代器也是支持随机访问的!

 

#include<iostream>
#include<deque>
using namespace std;

// deque构造函数

void printDeque(const deque<int>& d) // 常量引用,防止修改
{
    for (deque<int>::const_iterator it = d.begin(); it != d.end(); it++)
    {
        //*it = 100; // const_iterator迭代器是只读的
        cout << *it << " ";
    }
    cout << endl;
}

void test01()
{
    deque<int> d1;
    for (int i = 0; i < 10; i++)
    {
        d1.push_back(i);
    }
    printDeque(d1);

    deque<int>d2(d1.begin(), d1.end()); // 区间赋值
    printDeque(d2);

    deque<int> d3(10, 100); // 10个100
    printDeque(d3);

    deque<int> d4(d3); // 拷贝构造
    printDeque(d4);
}


int main()
{
    test01();
    return 0;
}

 

和vector基本一样

 

deque没有容量的限制,所以没有容量方法

 

 

和vector容器一样

front和back代表首尾元素

 

STL提供的sort方法

对于支持随机访问的迭代器的容器,都可以利用sort算法直接对其进行排序

sort要包含头文件algorithm

 

posted @ 2021-01-18 20:38  不妨不妨,来日方长  阅读(56)  评论(0编辑  收藏  举报