C74-栈练习&队列
原题链接:28705.NoteSC++2025-09-13 12:25:17
发布于:江苏
FILO:先进后出
first in last out
stack
FIFO:先进先出
first in first out
queue
#include <bits/stdc++.h>
#include <queue>
using namespace std;
int main(){
queue<int> q;
int n, t;
cin >> n;
for(int i=1; i<=n; i++){
cin >> t;
q.push(t);
}
while (q.size()){
cout << q.front() << ' ';
q.pop();
}
return 0;
}
/*
q.push(x);
cout << q.front();
cout << q.size();
q.empty()
*/
#include <bits/stdc++.h>
using namespace std;
int main(){
stack<int> s;
int n, x;
cin >> n;
for (int i=1; i<=n; i++){
cin>>x;
s.push(x);//入栈
}
while(s.size()) {
printf("=====stk.size[%d]======\n", s.size());
printf(" stk.pop[%d]\n", s.top());
s.pop();
}
return 0;
}
#include <bits/stdc++.h>
#include <stack>
using namespace std;
stack<int> s;
int main()
{
int n;
cin >> n;
for (int i=1; i<=n; i++) {
string op;
cin>>op;
if(op == "push") {
int x;
cin>>x;
s.push(x);
} else if (op == "pop") {
if (s.size() == 0) {
printf("pop fail\n");
} else {
printf("pop %d\n", s.top());
s.pop();
}
} else if (op == "top") {
if (s.size() == 0) {
printf("top fail\n");
} else {
printf("top = %d\n", s.top());
}
} else if (op == "size") {
printf("size = %d\n", s.size());
} else if (op == "empty") {
cout << (s.empty()==1 ? "yes" : "no") << endl;
}
}
return 0;
}
#include <bits/stdc++.h>
#include <stack> //栈
using namespace std;
stack<int> a;
int main(){
int n,b;
cin>>n;
for (int i=1; i<=n; i++){
cin>>b;
a.push(b);
}
while (!a.empty()){
cout << a.top() << ' ';
a.pop();
}
return 0;
}
这里空空如也
有帮助,赞一个