deque_01

A、头尾 添加/移除

  A.1、deque::push_back(elemValue);

  A.2、deque::pop_back();

  A.3、deque::push_front(elemValue);

  A.4、deque::pop_front();

B、随机存取

  B.1、[?]   ==> 越界时,程序 崩溃

  B.2、at(?)  ==> 越界时,抛异常 out_of_range

C、数据存取

  C.1、T deque::front();  // 返回,不可用于设置

  C.2、T deque::back();  // 返回,不可用于设置

1、构造函数

  1.1、默认构造函数 ==> 无参构造函数

  1.2、必定需要 复制构造函数 :deque<T> deqT(const deque& deq);

  1.3、deque<T> deqT(iteratorBegin, iteratorEnd);  // 迭代器区间[iteratorBegin, iteratorEnd)拷贝给deqT

    注意: 这里可以传数组指针,数组指针在特定情况下可以当做迭代器使用

  1.4、deque<T> deqT(n, elemValue);  // n个elemValue复制给deqT

2、赋值

  2.1、重载"="操作符

      deque& = const deque& deq;

  2.2、void deque<T>::assign(beg, end);  // [beg, end)区间拷贝给

  2.3、void deque<T>::assign(n, elemValue);// n个elemValue拷贝给

3、迭代器操作

  3.1、const_iterator deque<T>::begin();  // 第1个

  3.2、const_iterator deque<T>::end();  // 最后1个

  3.3、const_reverse_iterator deque<T>::rbegin();  // 倒数第1个

  3.4、const_reverse_iterator deque<T>::rend();  // 倒数最后1个

4、插入

  注意: 拷贝插入(ZC: 也就是类实例的话,类必须提供复制构造函数)
  iterator deque::insert(const_iterator, elemValue);       // 返回新元素的位置,拷贝插入
  void deque::insert(const_iterator, size_type n, elemValue);
  void deque::insert(const_iterator, iterator beg, iterator end); // [beg, end)区间

5、删除

  void deque::clear();
  iterator deque::erase(const_iterator beg, const_iterator end); // [beg, end)区间,返回下一个元素的位置
  iterator deque::erase(const_iterator pos);           // 返回下一个元素的位置

6、交换

  void deque<T>::swap(deque<T>&);

7、大小

  size_type deque<T>::size();
  bool deque<T>::empty();
  void deque<T>::resize(size_type);
  void deque<T>::resize(size_type, elemValue);

8、查找

9、

原文地址:https://www.cnblogs.com/cppskill/p/5409945.html