C++中队列有什么用
发表于:2025-11-07 作者:千家信息网编辑
千家信息网最后更新 2025年11月07日,这篇文章主要介绍C++中队列有什么用,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!1. 队列的概念及结构队列:只允许在一端进行插入数据操作,在另一端进行删除数据操作的特殊线性表
千家信息网最后更新 2025年11月07日C++中队列有什么用
这篇文章主要介绍C++中队列有什么用,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!
1. 队列的概念及结构
队列:只允许在一端进行插入数据操作,在另一端进行删除数据操作的特殊线性表,队列具有先进先出FIFO(First In First Out) 入队列:进行插入操作的一端称为队尾 出队列:进行删除操作的一端称为队头
2. 队列的实现
2.1 queue.h
#include#include #include #include typedef int QDataType;typedef struct QueueNode{ struct QueueNode*next; QDataType data;}QueueNode;typedef struct Queue{ QueueNode *head; QueueNode *tail;}Queue;void QueueInit(Queue *pq);void QueueDestory(Queue *pq);void QueuePush(Queue *pq,QDataType x);void QueuePop(Queue *pq);QDataType QueueFront(Queue *pq);QDataType QueueBack(Queue *pq);bool QueueEmpty(Queue *pq);int QueueSize(Queue *pq);
2.2 queue.c
#include"queue.h"void QueueInit(Queue *pq){ assert(pq); pq->head = pq->tail = NULL;}void QueueDestory(Queue *pq){ assert(pq); QueueNode *cur = pq->head; while (cur) { QueueNode *next = cur->next; free(cur); cur = next; } pq->head = pq->tail = NULL;}void QueuePush(Queue *pq, QDataType x){ assert(pq); QueueNode *newnode = (QueueNode*)malloc(sizeof(QueueNode)); if (newnode == NULL) { printf("malloc fail\n"); exit(-1); } newnode->data = x; newnode->next = NULL; if (pq->tail == NULL) { pq->head = pq->tail = newnode; } else { pq->tail->next = newnode; pq->tail = newnode; }}void QueuePop(Queue *pq){ assert(pq); assert(!QueueEmpty(pq)); if (pq->head->next == NULL) { free(pq->head); pq->head = pq->tail = NULL; } else { QueueNode *next = pq->head->next; free(pq->head); pq->head = next; }}QDataType QueueFront(Queue *pq){ assert(pq); assert(!QueueEmpty(pq)); return pq->head->data;}QDataType QueueBack(Queue *pq){ assert(pq); assert(!QueueEmpty(pq)); return pq->tail->data;}bool QueueEmpty(Queue *pq){ assert(pq); return pq->head == NULL;}int QueueSize(Queue *pq){ int size = 0; QueueNode *cur = pq->head; while (cur) { QueueNode *next = cur->next; ++size; cur = cur->next; } return size;}2.3 test.c
#include"queue.h"void TestOne(){ Queue q; QueueInit(&q); QueuePush(&q, 1); QueuePush(&q, 2); QueuePush(&q, 3); QueuePush(&q, 4); while (!QueueEmpty(&q)) { printf("%d ", QueueFront(&q)); QueuePop(&q); } printf("\n"); QueueDestory(&q);}int main(){ TestOne(); return 0;}以上是"C++中队列有什么用"这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注行业资讯频道!
队列
一端
C++
内容
数据
篇文章
特殊
价值
先进
兴趣
小伙
小伙伴
更多
知识
线性
结构
行业
资讯
资讯频道
频道
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
海湾crt数据库 软件
软件开发零基础怎么样
如何从数据库传到excel表格
程晓峰 网络安全
放置卡牌服务器架构
社会如何加强网络安全
鹤壁软件开发外包
我的世界国际版服务器
nosql数据库技术试题
申请网络安全预警管理体系认证
数据库如何筛选异位点
金融业网络安全竞赛试题
公共服务器应用
天津惠普服务器虚拟化系统云空间
五大常用数据库的应用领域
南京电脑软件开发服务费
日照伊记网络技术有限公司
数据库日志 c
西部数码服务器管理软件
网络安全与信息化工作简报
万方数据库管理系统
网络安全威胁的现状
软著软件开发人证明
网络安全培训消防
淮安哪里有软件开发
银行软件开发部工作情况
数据库系统特点及其相关概念
广州牛豹网络技术有限公司
下列哪一列不属于网络安全法
数字通讯和网络技术