栈:
头文件:#include<stack>
定义栈:stack<变量类型>栈名;
例如:stack<int>S;
1.判断栈是否为空:S.empty();
2.返回栈中元素个数:S.size();
3.删除栈顶元素:S.pop();
4.在栈顶压入新元素:S.push();
5.输出栈顶元素:cout<<S.top();
队列:
头文件:#include<queue>
定义队列:queue<int>Q;
1.判断队列是否为空:Q.empty();
2.将X接到队列末端:Q.push();
3.弹出队列第一个元素:Q.pop();
4.访问队首/队尾元素:Q.front();/Q.back();
5.返回队列中元素个数:Q.size();
#include<iostream>
#include<queue>
#include<stack>
using namespace std;
int main()
{
stack<int>S;
queue<int>Q;
int n,i,j;
cin>>n;
int a[100];
for(i=0;i<n;i++)
{
cin>>a[i];
}
for(i=0;i<n;i++)
{
Q.push(a[i]);
S.push(a[i]);
}
for(i=0;i<n;i++)
{
cout<<Q.front()<<" ";
Q.pop();
}
for(j=0;j<n;j++)
{
cout<<S.top()<<" ";
S.pop();
}
return 0;
}