【队列】模拟入队出队代码c++
时间: 2024-09-28 15:17:20 浏览: 40
队列是一种先进先出(First In First Out, FIFO)的数据结构,在C++中可以使用内置的`std::queue`模板类来实现。下面是一个简单的例子,展示了如何使用`std::queue`来模拟队列的入队(enqueue)和出队(dequeue)操作:
```cpp
#include <iostream>
#include <queue>
// 定义队列容器,这里使用了std::queue<int>
std::queue<int> queue;
// 入队操作 - 添加元素到队尾
void enqueue(int value) {
std::cout << "Enqueue: " << value << std::endl;
queue.push(value); // 使用push()方法将元素添加到队尾
}
// 出队操作 - 移除并返回队头元素
int dequeue() {
if (queue.empty()) {
std::cout << "Queue is empty, cannot dequeue." << std::endl;
return -1; // 或者抛异常,取决于需求
}
int top = queue.front(); // 获取队头元素
std::cout << "Dequeue: " << top << std::endl;
queue.pop(); // 使用pop()方法移除队头元素
return top;
}
int main() {
// 测试入队和出队操作
enqueue(1);
enqueue(2);
enqueue(3);
int removed = dequeue();
while (!queue.empty()) {
removed = dequeue(); // 如果队列非空,继续出队
}
return 0;
}
```
在这个例子中,我们首先创建了一个`std::queue`,然后分别实现了`enqueue()`和`dequeue()`函数。在`main()`函数中,我们演示了如何对队列进行操作。
阅读全文