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、