C++中队列有什么用
发表于:2026-10-31 作者:千家信息网编辑
千家信息网最后更新 2026年10月31日,这篇文章主要介绍C++中队列有什么用,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!1. 队列的概念及结构队列:只允许在一端进行插入数据操作,在另一端进行删除数据操作的特殊线性表
千家信息网最后更新 2026年10月31日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安全错误
数据库的锁怎样保障安全
互联网是第几次科技革命的成果
互联网最新的科技有限公司
猪兼强互联网科技
互联网科技公司怎么样
互联网 的科技创新
华中科技大学互联网
西安互联网科技公司
中国科技互联网公司收入
中国的互联网科技企业的崛起
南山科技园互联网公司有哪些
互联网软件和科技
青岛科技大学互联网大赛研究生
广西互联网科技孵化中心
河南住房之家互联网科技
互联网科技如何创业
山东星卡互联网科技有限公司官网
互联网科技实习生岗位
21世纪互联网科技成就
互联网科技包装股
互联网时代高科技布局
中关村互联网科技集团
科技类互联网
深圳艾佳互联网科技
无锡溥仪互联网科技有限公司
太原新华互联网科技学校怎么样
呼和浩特新华互联网科技学院
畅思互联网科技
河南住房之家互联网科技
洛阳共同富裕互联网科技有限公司
无锡工业互联网科技有限公司