c++有关队列的代码实现队列的基本操作,包括定义一个队列、初始化队列、创建队列、判断队列是否为空、判断队列是否为满、入队操作、出队操作、输出队列等
时间: 2024-06-21 11:03:57 浏览: 85
在C++中,队列(queue)是STL(Standard Template Library)中的一个重要容器,它遵循先进先出(FIFO,First In First Out)原则。这里是一个简单的`std::queue`的代码示例,展示了如何进行基本操作:
```cpp
#include <iostream>
#include <queue>
// 定义队列类型,使用int作为元素类型
using namespace std;
typedef queue<int> Queue;
// 初始化一个队列
Queue q;
// 判断队列是否为空
bool isQueueEmpty(Queue& q) {
return q.empty();
}
// 判断队列是否为满,由于队列没有容量限制,理论上不会满,这里可以不实现
bool isQueueFull(Queue& q) {
return false; // 队列没有满的概念
}
// 入队操作(添加元素到队尾)
void enqueue(Queue& q, int value) {
q.push(value);
cout << "Enqueue: " << value << " (size: " << q.size() << ")" << endl;
}
// 出队操作(删除并返回队首元素)
int dequeue(Queue& q) {
if (isQueueEmpty(q)) {
throw runtime_error("Queue is empty");
}
int value = q.front();
q.pop();
return value;
}
// 输出队列(遍历队列并打印所有元素)
void printQueue(Queue& q) {
cout << "Queue elements: ";
for (int value : q) {
cout << value << " ";
}
cout << endl;
}
int main() {
// 创建队列并进行一些操作
enqueue(q, 1);
enqueue(q, 2);
enqueue(q, 3);
printQueue(q); // 输出: Queue elements: 1 2 3
int removedValue = dequeue(q);
cout << "Dequeue: " << removedValue << " (size: " << q.size() << ")" << endl;
printQueue(q); // 输出: Queue elements: 2 3
return 0;
}
```
阅读全文