AK-n课
2024-05-02 17:33:41
发布于:广东
STL-栈
##操作
定义
stack<int>stk;
入栈
stk.push(x);
出栈
stk.pop();
栈空
stk.empty();//如果空值就是true
栈顶
stk.top();
栈大小
stk.size();
##验证栈序列
#include<bits/stdc++.h>
using namespace std;
int q,n,a[100005],b[100005];
int main(){
stack<int> stkin;
ios::sync_with_stdio(0);
cin.tie(0);
cin>>q;
while(q--){
int j=1;
cin>>n;
while(!stkin.empty())stkin.pop();
for(int i=1;i<=n;i++) cin>>a[i];
for(int i=1;i<=n;i++) cin>>b[i];
for(int i=1;i<=n;i++){
stkin.push(a[i]);
while(!stkin.empty()&&stkin.top()==b[j]&&j<=n){
stkin.pop();
j++;
}
}
if(stkin.empty()) cout<<"Yes\n";
else cout<<"No\n";
}
return 0;
}
STL-队列
操作
定义
queue<int>que;
入栈
que.push(x);
出栈
que.pop();
栈空
que.empty();//如果空值就是true
栈顶
que.front();
栈大小
que.size();
这里空空如也
有帮助,赞一个