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、

deque_01的更多相关文章

随机推荐

  1. C#方法参数传递-同时使用ref和out关键字

    在方法参数传递中,可以同时使用ref和out关键字,但是要注意ref和out参数传递的不同. using System;class Program{static void Main(){    Pro ...

  2. 不用中间变量交换a 和b的值

    // 不用中间变量的写法 ,假如 a=13, b=8; a=a+b =21; //此时 a=21; b=8; b=a-b=13; //此时a=21; b=13; a=a-b=8; //相当于 a=21 ...

  3. Python2 和Python3 的差异总结

    一.基本语法差异 1.1 核心类差异 Python3对Unicode字符的原生支持 Python2中使用 ASCII 码作为默认编码方式导致string有两种类型str和unicode,Python3 ...

  4. 【翻译】std::list::remove - C++ Reference

    公有成员函数 std::list::remove void remove(const value_type& val); 删除与给定值相等的元素 从容器中删除所有与 val 值相等的元素.li ...

  5. 编译错误 error C2451: “std::_Unforced”类型的条件表达式是非法的

    part 1 编译器 vs2015 VC++. 完整的错误信息粘贴如下: d:\program files (x86)\microsoft visual studio 14.0\vc\include\ ...

  6. MySQL新建用户保存的时报错:The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement

    又是这种错, 以前没遇过, 没办法, 直接google. 下面看解决办法: 登录mysql, 当然了如果您登录不上(密码错误情况), 直接扔这个属性进去my.cnf配置文件skip-grant-tab ...

  7. JavaScript中变量提升------Hoisting

    原谅链接:http://www.cnblogs.com/damonlan/archive/2012/07/01/2553425.html 因为这个问题很是经典,而且容易出错,所以在介绍一次.哈哈.莫怪 ...

  8. 20145127《java程序设计》第二次实验

    一.实验内容及其步骤 1.要想对某个程序进行单元测试,我们先是在eclipse中建立了一个新的项目,项目的名字是TDDDmeo.并在这个新的项目里右键单击创建一个source floder.并将flo ...

  9. 20145302张薇《课程设计》数据恢复——WinHex实践

    20145302张薇<课程设计>数据恢复--WinHex实践 实践内容 使用WinHex破损一个U盘 使用WinHex通过DBR备份数据来修复已损坏U盘 实践详细步骤 1.准备一个文件格式 ...

  10. CSS3实现小黄人动画

    转载请注明出处,谢谢! 每次看到CSS3动画就心痒痒想试一下,记得一个多月前看了白树哥哥的一篇博客,突然开窍,于是拿他提供的demo试了一下,感觉很棒!下图为demo提供的动画帧设计稿. 自己也想说搞 ...