zoukankan      html  css  js  c++  java
  • C++ STL容器之 deque

    C++ STL容器之 deque

    deque双端队列容器,与vector容器相比较,明显的优势是很高效的添加删除首尾元素,也较容易在任意位置插入元素。
    在deque容器首尾添加元素不会使任何迭代器失效,但在首尾删除元素会使指向被删元素的迭代器失效,在deque容器的任何其他位置添加或删除会使该容器的所有迭代器失效。

    1.deque创建对象

    (1)deque<int> de; //创建一个空的deque对象
    (2)deque<int> de(n);//创建有n个元素的deque对象
    (3)deque<int> de(n,value); //创建有n个元素的deque,每个元素的初始化值为value
    (4)deque<int> de1(n,value); deque<int>de2(d1); //拷贝一个deque对象的各个元素值,创建一个新的deque对象
    (5)int iArray[] = {1,2,3}; deque<int> de(iArray, iArray+3);//拷贝迭代器区间[first, last)的元素值,创建一个新的deque对象中

    2.deque的常用函数

    (1)void push_back(const T&) //在容器的尾端插入新元素value
    (2)void push_front(const T&) //在容器的首端插入新元素value
    (3)void pop_front() 删除deque的第一个元素
    (4)void pop_back() 删除deque的最后一个元素
    (5)iterator erase(iterator pos) 删除迭代器pos所指的元素
    (6)iterator erase(iterator first, iterator last) 删除迭代器区间[first, last)的所有元素
    (7)void clear() 调用erase函数,清除所有元素
    (8)reverse_iterator rbegin() //从尾部反向遍历
    (9)reverse_iterator rend() //从头部反向遍历
    (10)void swap(deque&) //用于deque的交换
    (11)bool empty()
    (12)size_type size()
    (13)size_type max_size()
    (14)reference front()
    (15)reference back()



  • 相关阅读:
    [codevs 1227] 方格取数 2
    记冬令营
    Codeforces Round 558(Div 2)题解
    Educational Round 64 题解
    [GXOI/GZOI2019]与或和(位运算,单调栈)
    LOJ6053 简单的函数(min_25筛)
    LOJ6235 区间素数个数(min_25筛)
    min_25筛学习笔记
    CF1142C U2(计算几何,凸包)
    关于一些没做出来的SBCF题
  • 原文地址:https://www.cnblogs.com/javawebsoa/p/3074674.html
Copyright © 2011-2022 走看看