链式队列的存储与实现c++
时间: 2024-10-21 15:02:07 浏览: 31
C++数据结构之链式队列实现
链式队列是一种数据结构,它使用链表作为底层存储机制。在C++中,链式队列通常通过定义一个节点类(Node),每个节点包含数据元素和指向下一个节点的指针来实现。以下是基本的链式队列实现步骤:
1. **定义节点类**(Node):
```cpp
class Node {
public:
int data;
Node* next; // 指向下一个节点的指针
Node(int val) : data(val), next(nullptr) {} // 构造函数
};
```
2. **定义队列类**(Queue):
```cpp
class Queue {
private:
Node* front; // 队头指针
Node* rear; // 队尾指针
public:
Queue() : front(nullptr), rear(nullptr) {}
// 插入操作(在队尾)
void enqueue(int value) {
Node* newNode = new Node(value);
if (rear == nullptr) {
front = rear = newNode;
} else {
rear->next = newNode;
rear = newNode;
}
}
// 删除操作(在队头)
bool dequeue() {
if (front == nullptr) {
return false; // 队列为空
}
Node* temp = front;
front = front->next;
delete temp; // 释放内存
return true;
}
// 查看队头元素(非递归)
int getFront() const {
if (front == nullptr) {
throw std::runtime_error("Queue is empty");
}
return front->data;
}
// 判断队列是否为空
bool isEmpty() const {
return front == nullptr;
}
};
```
阅读全文