include[HTML_REMOVED]
using namespace std;
const int N = 1000010;
class Queue {
private:
int que[N];
int head, tail;
public:
Queue() : head(0), tail(-1) {} // 初始化队列
void push(int x) {
que[++tail] = x; // 在队列尾部添加元素
}
int pop() {
if(isEmpty()) {
cout << "Queue is empty, cannot pop." << endl;
return -1; // 或者你可以抛出一个异常
}
return que[head++]; // 移除并返回队列头部的元素
}
int query() {
if(isEmpty()) {
cout << "Queue is empty, cannot query." << endl;
return -1; // 或者你可以抛出一个异常
}
return que[head]; // 返回队列头部的元素,但不移除它
}
bool isEmpty() {
return head > tail; // 如果head大于tail,队列为空
}
};
int main() {
Queue q;
q.push(1);
q.push(2);
cout << q.query() << endl; // 应输出1
cout << q.pop() << endl; // 应输出1
cout << q.query() << endl; // 应输出2
return 0;
}