STL基本概念
也可以理解成为双端队列
构造函数
-
-
deque(beg, end);
//构造函数将[beg, end)区间中的元素拷贝给本身。 -
deque(n, elem);
//构造函数将n个elem拷贝给本身。
deque赋值
-
deque& operator=(const deque &deq);
//重载等号操作符
-
assign(beg, end);
-
assign(n, elem);
//将n个elem拷贝赋值给本身。
deque大小操作
-
-
deque.size();
//返回容器中元素的个数 -
deque.resize(num);
//重新指定容器的长度为num,若容器变长,则以默认值填充新位置。//如果容器变短,则末尾超出容器长度的元素被删除。
-
deque.resize(num, elem);
//重新指定容器的长度为num,若容器变长,则以elem值填充新位置。//如果容器变短,则末尾超出容器长度的元素被删除。
deque插入和删除
两端插入操作:
-
push_back(elem);
//在容器尾部添加一个数据 -
push_front(elem);
//在容器头部插入一个数据 -
pop_back();
//删除容器最后一个数据 -
pop_front();
//删除容器第一个数据
指定位置操作:
-
insert(pos,elem);
//在pos位置插入一个elem元素的拷贝,返回新数据的位置。 -
insert(pos,n,elem);
//在pos位置插入n个elem数据,无返回值。 -
insert(pos,beg,end);
//在pos位置插入[beg,end)区间的数据,无返回值。 -
clear();
-
erase(beg,end);
//删除[beg,end)区间的数据,返回下一个数据的位置。 -
erase(pos);
//删除pos位置的数据,返回下一个数据的位置。
其中pos是迭代器,不能用0,1,2等索引值
deque数据存取
-
-
operator[];
//返回索引idx所指的数据 -
front();
//返回容器中第一个数据元素 -
back();
//返回容器中最后一个数据元素
[]是系统已经重载的。
deque排序
和vector一样。
stack容器
基本概念
stack是数据结构之中的老朋友了,家喻户晓的 栈
构造函数:
-
stack<T> stk;
//stack采用模板类实现, stack对象的默认构造形式 -
stack(const stack &stk);
//拷贝构造函数
赋值操作:
-
stack& operator=(const stack &stk);
//重载等号操作符
数据存取:
-
push(elem);
//向栈顶添加元素 -
pop();
//从栈顶移除第一个元素 -
top();
//返回栈顶元素
大小操作:
-
empty();
//判断堆栈是否为空 -
size();
//返回栈的大小
queue容器
基本概念
队列容器允许从一端新增元素,从另一端移除元素
常用接口
构造函数:
-
queue<T> que;
//queue采用模板类实现,queue对象的默认构造形式 -
queue(const queue &que);
//拷贝构造函数
赋值操作:
-
queue& operator=(const queue &que);
//重载等号操作符
数据存取:
-
push(elem);
//往队尾添加元素 -
pop();
//从队头移除第一个元素 -
back();
//返回最后一个元素 -
front();
//返回第一个元素
大小操作:
-
empty();
//判断堆栈是否为空 -
size();
//返回栈的大小