目录
[3.1 push()](#3.1 push())
[3.2 pop()](#3.2 pop())
[3.3 size()](#3.3 size())
[3.4 empty()](#3.4 empty())
[3.5 front()](#3.5 front())
[3.6 back()](#3.6 back())
[6.1 push()](#6.1 push())
[6.2 top()](#6.2 top())
[6.3 pop()](#6.3 pop())
[6.4 size()](#6.4 size())
[6.6 empty()](#6.6 empty())
STLf封装的queue也是十分的强大,一个queue不但可以实现队列,还可以实现循环队列。、
1.queue的头文件
#include<queue>
2.queue的定义
queue的定义和vector没什么不同
queue<类型名>变量名;
类型可以是int,double等基本数据类型,也可以是自定义的结构体,也可以是STL容器。
queue<int>q;
queue<double>q;
queue<char>q;
queue<char,list<char>>q;
3.queue的常用函数
3.1 push()
push()在队尾插入一个元素
queue<int>q;
q.push(1);
q.push(2);
cout<<q.front()<<endl;
输出:
1
3.2 pop()
pop()删除队首元素
qqueue<int>q;
q.push(1);
q.push(2);
q.pop();
cout<<q.front()<<endl;
输出:
2 //1已经被删除掉
3.3 size()
size()返回队列中元素个数
1
0
queue<int>q;
q.push(1);
q.push(2);
cout<<q.size()<<endl;
输出:
2
3.4 empty()
empty()判断队列是否为空,如果队列为空返回true
queue<int>q;
cout<<q.empty()<<endl;
q.push(1);
q.push(2);
cout<<q.empty()<<endl;
输出:
1
0
3.5 front()
front()返回队首元素
queue<int>q;
q.push(1);
q.push(2);
q.push(3);
cout<<q.front()<<endl;
q.pop();
cout<<q.front()<<endl;
输出:
1
2
3.6 back()
back()返回队尾元素
queue<int>q;
q.push(1);
q.push(2);
cout<<q.back()<<endl;
输出:
2
4.stack的头文件
#include<stack>
5.stack的定义
stack<类型名>变量名;
类型可以是int,double等基本数据类型,也可以是自定义的结构体,也可以是STL容器。
6.stack的常用函数
6.1 push()
push()将元素压入栈中
stack<int>st;
st.push(1);
st.push(2);
6.2 top()
因为栈是一种先进后出的数据结构,我们只能访问栈顶元素
stack<int>st;
st.push(1);
st.push(2);
cout<<st.top()<<endl;
输出:
2
6.3 pop()
pop()用来弹出栈顶元素
stack<int>st;
st.push(1);
st.push(2);
cout<<st.top()<<endl;
st.pop();
cout<<st.top()<<endl;
输出:
2
1
6.4 size()
size()返回栈中元素个数
stack<int>st;
st.push(1);
st.push(2);
st.push(3);
cout<<st.size()<<endl;
输出:
3
6.6 empty()
empty()用来判断栈是否为空,为空返回1,表示true;不为空返回0,表示false
stack<int>st;
cout<<st.empty()<<endl;
st.push(1);
st.push(2);
cout<<st.empty()<<endl;
输出:
1
0