编辑
2023-10-21
数据结构与算法
00
请注意,本文编写于 566 天前,最后修改于 566 天前,其中某些信息可能已经过时。

B3616

cpp
#include <iostream> class Queue { private: int* data; int front; int rear; int capacity; int size; public: Queue(int cap) { data = new int[cap]; capacity = cap; front = rear = -1; size = 0; } ~Queue() { delete[] data; } void push(int x) { if (size == capacity) { std::cout << "ERR_CANNOT_PUSH" << std::endl; } else { rear = (rear + 1) % capacity; data[rear] = x; if (size == 0) { front = rear; } size++; } } void pop() { if (size == 0) { std::cout << "ERR_CANNOT_POP" << std::endl; } else { front = (front + 1) % capacity; size--; } } void query() { if (size == 0) { std::cout << "ERR_CANNOT_QUERY" << std::endl; } else { std::cout << data[front] << std::endl; } } int getSize() { return size; } }; int main() { int n; std::cin >> n; Queue q(100); // 假设队列最大容量为100 for (int i = 0; i < n; i++) { int op; std::cin >> op; if (op == 1) { int x; std::cin >> x; q.push(x); } else if (op == 2) { q.pop(); } else if (op == 3) { q.query(); } else if (op == 4) { std::cout << q.getSize() << std::endl; } } return 0; }

本文作者:yowayimono

本文链接:

版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!