STL常用容器(deque&stack&queue)
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();//返回栈的大小




浙公网安备 33010602011771号