AcWing 829. 模拟队列
原题链接
简单
作者:
L-China
,
2022-12-01 23:12:29
,
所有人可见
,
阅读 295
C++
#include<iostream>
using namespace std;
const int N = 1e5 + 10;
//队列:先进先出(如排队一样)
//在队尾插入元素,在队头弹出元素
int q[N], hh, tt = -1;//hh表示队头,tt表示队尾
// //插入一个元素
// q[ ++ tt] = x;
// //弹出
// hh ++;
// //判断是否为空
// if (hh <= tt) not empty;
// else empty;
// //取出队头元素
// q[hh];
// //取队尾 q[tt]
int main(){
int m;
cin >> m;
while (m --){
string op;
int x;
cin >> op;
if (op == "push"){//向队尾插入一个数 x
cin >> x;
q[ ++ tt] = x;
}else if (op == "pop"){//从队头弹出一个数
hh ++;
}else if (op == "empty"){//判断队列是否为空
if (hh <= tt) cout << "NO" << endl;
else cout << "YES" << endl;
}else {//查询队头元素
cout << q[hh] << endl;
}
}
return 0;
}