链队列实现
2023-09-11 14:22:52 时间
#include<iostream> using namespace std; typedef struct QNode { int data; struct QNode *next; }QNode, *QueuePtr; typedef struct { QueuePtr front;//指向第一个 QueuePtr rear;//指向最后一个 }LinkQueue; void InitQueue(LinkQueue &q) { q.front = new QNode; q.rear = q.front; q.front->next = NULL; } void DestroyQueue(LinkQueue &q) { while (q.front) { q.rear = q.front->next; free(q.front); q.front = q.rear; } } bool QueueEmpty(LinkQueue &q) { return(q.front == q.rear); } void GetHead(LinkQueue &q,int &e) { if (q.front == q.rear) return; e = q.front->next->data; } void EnQueue(LinkQueue &q, int e) { QueuePtr p = new QNode; if (!p) return; p->data = e; p->next = NULL; q.rear->next = p; q.rear = p; } void DeQueue(LinkQueue &q, int &e) { if (q.front == q.rear) return; QueuePtr p = q.front->next; e = p->data; q.front->next = p->next; if (q.rear == p) q.rear = q.front; delete p; }
相关文章
- POJ 2823 滑动窗口 单调队列模板
- 【C/C++学院】0730-网站以及后门/结构体对齐、结构体面试分析/深拷贝与浅拷贝/队列/字符串封装
- Java实现 LeetCode 232 用栈实现队列
- rabbitmq延迟队列相关
- 消息队列持久化
- rabbitmq和redis用作消息队列的区别
- Java核心知识点学习----多线程中的阻塞队列,ArrayBlockingQueue介绍
- RabbitMQ消息队列(九):Publisher的消息确认机制
- 【数据结构笔记07】数据结构之队列的链式表示和实现(链队)
- 如果让你手写个栈和队列,你还会写吗?
- 【Android 异步操作】HandlerThread 示例 ( 初始化并执行 | 获取Looper | 获取 Handler | 获取消息队列 | 设置空闲队列 | 代码示例 )
- AM--消息队列
- js堆栈与队列简单记忆
- 3-08. 栈模拟队列(25)(ZJU_PAT 模拟)
- 循环队列