C++用链表 LinkedList 实现队列类。在 main 函数中会声明一个整型队列对象,插入 5 个整数,压入队列,再依次取出并显示出来。
时间: 2024-02-23 20:03:20 浏览: 68
好的,我可以为您提供 C++ 用链表 LinkedList 实现队列类的代码,您可以在 main 函数中进行测试。以下是代码:
```c++
#include <iostream>
using namespace std;
// 链表节点结构体
struct ListNode {
int val; // 数据域
ListNode* next; // 指针域
ListNode(int x) : val(x), next(NULL) {}
};
// 队列类
class Queue {
private:
ListNode* front; // 队头指针
ListNode* rear; // 队尾指针
public:
// 构造函数
Queue() : front(NULL), rear(NULL) {}
// 判断队列是否为空
bool empty() {
return front == NULL;
}
// 入队操作
void push(int x) {
ListNode* node = new ListNode(x);
if (empty()) {
front = rear = node;
} else {
rear->next = node;
rear = node;
}
}
// 出队操作
void pop() {
if (empty()) {
return;
}
ListNode* node = front;
front = front->next;
if (front == NULL) {
rear = NULL;
}
delete node;
}
// 获取队头元素
int getFront() {
return front->val;
}
// 获取队尾元素
int getRear() {
return rear->val;
}
};
int main() {
Queue q;
// 插入 5 个整数,压入队列
for (int i = 1; i <= 5; i++) {
q.push(i);
}
// 依次取出并显示出来
while (!q.empty()) {
cout << q.getFront() << " ";
q.pop();
}
cout << endl;
return 0;
}
```
运行结果如下:
```
1 2 3 4 5
```
阅读全文