STL
Queue(先进先出)
头文件#include
成员函数
queue::pop () //出队列
queue::push () //入队列
queue::size () //返回队列中元素个数
queue::empty () //队列为空(断言)
queue::front () //返回队首元素
queue::back () //返回队尾元素
queue::swap () //交换两个相同的类型的队列的所有元素
queue::emplace () //构建并插入元素,在堆栈顶部添加一个新元素,位于当前顶层元素上方。 这个新元素是通过构造函数的参数传递参数构建的。该成员函数有效地调用底层容器的成员函数emplace_back,并转发参数。
queue::_Get_container () //获取该对象的容器类型
demo队列的特性
#include <iostream>
#include <queue>
using namespace std;
int main() {
queue<int> q;
q.push(1);
q.push(2);
q.push(3);
cout << "队首:"<<q.front()<<endl<<"队尾:"<< q.back() ;
}
//输出
//队首:1
//队尾:3
Stack(后进先出)
头文件#include
成员函数
stack::pop () //出栈
stack::push () //入栈
stack::size () //返回栈中元素个数
stack::empty () //栈为空(断言)
stack::top () //返回栈顶元素
stack::swap () //交换两个相同的类型的栈的所有元素
stack::emplace () //构建并插入元素,在堆栈顶部添加一个新元素,位于当前顶层元素上方。 这个新元素是通过构造函数的参数传递参数构建的。该成员函数有效地调用底层容器的成员函数emplace_back,并转发参数。
stack::_Get_container () //获取该对象的容器类型
Swap演示
#include <iostream>
#include <string>
#include <queue>
#include <stack>
using namespace std;
int main() {
stack<int> s1;
stack<int> s2;
s1.push(1);
s1.push(2);
s2.push(3);
s2.push(4);//s1 contains 1,2;s2 contains 3,4
s1.swap(s2);
cout << "s1 contains:";
while (s1.size()) {//栈中仍有元素
cout << s1.top()<<" ";//输出栈顶元素
s1.pop();//出栈
}
cout <<endl<< "s2 contains:";
while (s2.size()) {
cout << s2.top() << " ";
s2.pop();
}
}
//结果
//s1 contains:4 3
//s2 contains:2 1