#include <iostream>
#include <string>
using namespace std ;
int len ; // 队列长度
class rotateQueue {
private :
int q[100010] ;
int head = 0, tail = 0 ;
public :
void push(int x) {
if (head == (tail + 1) % len) cout << "full" << endl ;
else {
q[tail] = x ;
tail = (tail + 1) % len ;
}
}
void front() {
if (head == tail) cout << "empty" << endl ;
else cout << q[head] << endl ;
}
void pop() {
if (head == tail) cout << "empty" << endl ;
else {
cout << q[head] << endl ;
head = (head + 1) % len ;
}
}
};
int main() {
int n ;
cin >> len >> n ;
len ++ ;
rotateQueue que ;
for (int i = 0 ; i < n ; i ++ ) {
string op ;
cin >> op ;
if (op == "push") {
int x ;
cin >> x ;
que.push(x) ;
}
else if (op == "pop") {
que.pop() ;
}
else if (op == "front") {
que.front() ;
}
}
return 0 ;
}
C++数据结构:循环队列模板
最新推荐文章于 2024-07-17 20:43:45 发布