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")