循环队列的实现
来源:互联网 发布:知我药妆有假货吗 编辑:程序博客网 时间:2024/06/06 01:41
<span style="font-size:18px;">#include<stdio.h>#define MaxQueueSize 15typedef int DataType;typedef struct{DataType queue[MaxQueueSize];int rear;//队列指针int front;//对头指针int count;//计数器}SeqCQueue;//初始化void QueueInitiate(SeqCQueue *q){//初始化顺序循环队列qq->count=0;//定义初始计数器q->rear=0;//定义初始队尾指针下标q->front=0;//定义初始对头指针标}//非空int QueueNotEmpty(SeqCQueue q){//判断顺序循环队列q非空否,非空则返回1,否则返回0if(q.count!=0){return 1;}else{return 0;}}//入队列int QueueAppend(SeqCQueue *q,DataType x){//把数据元素值x插入顺序循环队列q的队尾,成功则返回1,失败返回0if(q->count>0&&q->rear==q->front){//队满判断printf("队列已满无法插入!!\n");return 0;}else{q->queue[q->rear]=x;//数据元素x插入队尾q->rear=(q->rear+1)%MaxQueueSize;//队尾指示器加1q->count++;//计数器加1return 1;//返回1}}//出队列int QueueDelete(SeqCQueue *q,DataType *d){//删除顺序循环队列q的队头元素并赋给d,成功返回1,失败则返回0if(q->count==0){//对空判断printf("队列已空无数据元素出队列!!\n");return 0;}else{*d=q->queue[q->front];//取对头元素存入d中q->front=(q->front+1)%MaxQueueSize;//对头指示器加1q->count--;//计算器减一}}//取对头数据元素int QueueGet(SeqCQueue q,DataType *d){//取顺序循环队列q的当前对头元素并赋给d,成功则返回1,失败则返回0if(q.count==0){printf("队列已空,无数据元素可以取!!\n");return 0;}else{*d=q.queue[q.front];return 1;}}void main(){}</span>
1 0
- 队列----循环队列的实现
- 循环队列的实现
- 循环队列的实现
- 循环队列的实现
- 循环队列的实现
- 循环队列的实现
- 循环队列的实现
- 循环队列的实现
- 循环队列的实现
- 循环队列的实现
- 循环队列的实现
- 循环队列的实现
- 循环队列的实现
- 循环队列的实现
- 循环队列的实现
- 循环队列的实现
- 循环队列的实现
- 循环队列的实现
- mq
- Codeforces 448C. Painting Fence
- POJ3258 River Hopscotch二分
- 成员函数指针:(结构+与普通函数指针之间的转换)
- openfire+spark+smack
- 循环队列的实现
- 二.指针的定义及运算
- Android动画学习笔记-Android Animation
- 自制多选功能相册
- Haproxy安装与配置
- 关于 ulimit -SHn 65535
- 判断scrollviewd滑动方向
- java调用Hbase API 出现org.apache.hadoop.hbase.protobuf.generated.ClientProtos$Result overrides final 错误
- bootstrap之ScrollTo