C++ 顺序队列
#include <array>
#include <iostream>
using namespace std;
class queue{
private:
array<int, 100000> q;
int head=0, rear=0;
public:
void push(int x) {
q[rear++] = x;
}
void pop() {
if (head!=rear) head++;
else cout << "ERR_CANNOT_POP" << endl;
}
int front() {
if (head!=rear) return q[head];
else cout << "ERR_CANNOT_QUERY" << endl;
return -1;
}
int lenQue() {
return rear-head;
}
};
int main() {
int n, op, x;
queue q;
cin >> n;
while (n--) {
cin >> op;
switch (op) {
case 1: cin >> x; q.push(x); break;
case 2: q.pop(); break;
case 3: {int a = q.front(); if (q.lenQue()) cout << a << endl; break;}
case 4: cout << q.lenQue() << endl; break;
}
}
return 0;
}
// 64 位输出请用 printf("%lld")



京公网安备 11010502036488号