C++序列式容器之deque
deque的构造和析构
deque<Elem> c; 产生一个空deque
deque<Elem> c(c2); 拷贝构造
deque<Elem> c = c2;
deque<Elem> c(n); 大小为n
deque<Elem> c(n, elem); n个elem
deque<Elem> c(begin, end); 以区间[begin,end)内的元素为初值
deque<Elem> c(initlist); 以初值列initlist的元素为初值
deque<Elem> c = initlist; 同上
c.~deque(); 销毁所有元素
deque的非更易操作
c.empty();
c.size();
c.max_size();
c.shrink_to_size();
c1 = c2;
c1 != c2;
c2 > c2;
c1 < c2;
c1 >= c2;
c1 <= c2;
c[idx];
c.at(idx);
c.front();
c.back();
c.begin();
c.end();
c.cbegin();
c.cend();
c.rbegin();
c.rend();
c.crbegin();
c.crend();
无capacity和reserve操作
deque的更易型操作
c.assign(n, elem); 复制n个elem给c
c.assign(beg,end); 将区间[begin,end)内的元素复制给c
c.assign(initlist); 将初值列复制给c
c1.swap(c2);
swap(c1, c2); 置换c1和c2的数据,同上
c.push_back(elem);
c.pup_back();
c.push_front(elem);
c.pop_front();
c.insert(pos, elem); 在iterator位置pos前插入elem,并返回新元素的位置
c.insert(pos, n, elem); 在iterator位置pos前插入n个elem,并返回第一个新元素的位置
c.insert(pos, begin, end); 在iterator位置pos前插入区间[begin, end)内的所有元素
c.insert(pos, initlist); 在iterator位置pos前插入初值列initlist
c.emplace(pos, args...); 在iterator位置pos前插入一个以args为初值的元素,并返回新元素位置
c.emplace_back(args...); 在末尾添加args,无返回
c.emplace_front(args...); 在列首添加args,无返回
c.erase(pos); 删除pos位置上的元素
c.erase(beg,end);
c.resize(num); 将元素数改为num
c.resize(num, elem); 将元素数改为num,多出的数为elem
c.clear();