C语言实现循环队列
创作时间:
作者:
@小白创作中心
C语言实现循环队列
引用
CSDN
1.
https://m.blog.csdn.net/weixin_41542504/article/details/138303063
循环队列是一种特殊的队列数据结构,其特点是队尾和队头可以相互覆盖,从而实现存储空间的循环利用。本文将通过C语言代码实现一个简单的循环队列,并演示其基本操作。
循环队列的C语言实现
#include <stdio.h>
#include <stdlib.h>
#define MAX_SIZE 6
typedef unsigned char uint8;
typedef unsigned int uint32;
typedef unsigned short WORD;
int queue[MAX_SIZE];
int head = 0;
int tail = 0;
// 入队操作
void enqueue(int element) {
if ((tail + 1) % MAX_SIZE == head) {
queue[tail] = element;
tail = (tail + 1) % MAX_SIZE;
head = (head + 1) % MAX_SIZE;
}
else
{
queue[tail] = element;
tail = (tail + 1) % MAX_SIZE;
}
return;
}
// 出队操作
int dequeue() {
if (head == tail) {
printf("队列为空\n");
return -1;
}
int result = queue[head];
head = (head + 1) % MAX_SIZE;
return result;
}
// 打印队列
void printQueue() {
int num = 0;
int y = head;
num = ((tail-head)+MAX_SIZE)%MAX_SIZE;
if(num == 0x00)
{
printf("队列为空\n");
}
else
{
for(int i = 0; i< num; i++)
{
printf("%d ",queue[y]);
y = (y + 1) % MAX_SIZE;
}
printf("\n");
}
}
int main() {
printQueue();
// 入队操作
enqueue(1);
enqueue(2);
enqueue(3);
enqueue(4);
enqueue(5);
printQueue(); // 输出: 1 2 3 4 5
// 出队操作
printf("出队元素: %d\n", dequeue());
printf("出队元素: %d\n", dequeue());
printQueue(); // 输出: 3 4 5
// 再次入队
enqueue(6);
enqueue(7);
enqueue(8);
enqueue(9);
printQueue(); // 输出: 5 6 7 8 9
return 0;
}
验证结果
以下是代码运行的验证结果:
通过上述代码和运行结果,我们可以看到循环队列的基本操作(入队、出队)以及队列元素的打印功能都得到了正确实现。循环队列通过取模运算实现了队尾和队头的循环覆盖,从而有效地利用了存储空间。
热门推荐
过来人的忠告:结婚前,一定要和对方交换的9个问题
深圳老旧小区装上“共享电梯”:按次收费,15年后产权归业主
央视认证的7部男频大爆剧:张若昀一人两部,成毅表现突出
IPV4地址和IPV6地址详解
预算绩效管理制度怎么设计?
从南昌自驾至普陀山全程攻略:沿途精选景点与旅行贴士
张北县多举措提升草原天路服务品质
购买股票如何实现理性投资并降低风险?这种理性投资和风险降低有哪些方法?
高三一模考试的重要性有哪些 如何看待一模
减肥期间大腿小腿疼痛的处理方法
带宽和网速的关系 带宽和频率的关系
高低温交变湿热试验箱漏电问题的检测与解决方法
王者荣耀S26赛季阿古朵攻略:两件关键装备助你登顶打野胜率榜首
西藏自治区建筑业协会发布2024年工程建设质量管理小组活动成果
人事档案管理系统如何提升企业人力资源管理效率
科学选择适合自己的健身计划:设定目标、一评身体、三定训练
鼓山涌泉寺:见证闽台同根、法缘一家的“八闽首刹”
饭店人力资源怎么招聘
Science子刊:鉴定出引导Wnt蛋白分泌到外泌体表面上的Wnt信号肽
逆变器使用指南:从基础原理到安全操作
俄罗斯琥珀造船厂:一家百年造船厂的梦想沉浮
亲子冲突的解决与家庭教育策略
期货交易费及佣金是多少
公司解除劳动合同的重要法律风险及对策
“数智赋能”激活党员教育“一池春水”
股东持股结构是什么?从法律角度解读其定义与重要性
孕期胎动的正常次数范围说明!胎动次数怎么算,怎样算一次
斗篷的寓意及其文化背景:探索历史、象征意义和时尚趋势
实习证明撰写攻略:展现你的实践能力和成长经历
浙江7市跻身全国50强:杭州领跑,台州居第46