链式队列的基本操作c++。
时间: 2024-11-22 18:40:33 浏览: 16
链式队列(Linked Queue)是一种线性数据结构,它的基本操作通常包括入队(enqueue)、出队(dequeue)以及查看队首元素(front)。在C++中,可以使用标准库中的`std::list`来模拟链式队列,因为`list`提供了一种双向链表的实现。
1. **入队(enqueue)**:向队列末尾添加一个新元素,可以使用`push_back`函数。
```cpp
void enqueue(int value) {
queue.push_back(value);
}
```
2. **出队(dequeue)**:从队列前端移除并返回一个元素,如果队列为空则抛异常,一般使用`pop_front`函数,但由于`list`默认不支持随机访问,这里需要额外处理空队列的情况。
```cpp
int dequeue() {
if (queue.empty()) throw std::runtime_error("Queue is empty");
int value = queue.front();
queue.pop_front(); // 删除队首元素
return value;
}
```
3. **查看队首元素(front)**:检查但不移除队首元素,使用`front`成员函数,同样需要注意队列是否为空。
```cpp
int front() const {
if (queue.empty()) throw std::runtime_error("Queue is empty");
return queue.front();
}
```
阅读全文