C语言数据结构——循环队列
来源:互联网 发布:js数字递增特效代码 编辑:程序博客网 时间:2024/05/19 17:04
1、若队列的最大尺寸为QueueSize,则队列满的条件是(rear+1)%Queue == Q.front
;计算队列长度的公式是:(rear - front + QueueSize)%QueueSize
2、循环队列的顺序存储结构
#include<stdio.h>#include<stdlib.h>#include<math.h>#define OVERLOW -1#define FALSE 0#define ERROR 0#define OK 1#define TRUE 1#define QueueSize 100typedef int Status;typedef struct SqQueue{ int data[QueueSize]; int front; int rear;}SqQueue;//构造一个空队列Status IninQueue(SqQueue &Q){ Q.front = 0; Q.rear = 0; return OK; } //求队列的长度Status QueueLength(SqQueue &Q){ return ( Q.rear - Q.front + QueueSize )%QueueSize; return OK; } //若队列未满,在对尾插入元素,入队 Status EnQueue(SqQueue &Q,int e){ //如果队列是满的,则操作失败 if( (Q.rear + 1 ) % QueueSize == Q.front ) return ERROR; Q.data[Q.rear] = e; //将e赋值给对尾 //rear向后移一位 Q.rear = ( Q.rear + 1 )%QueueSize; //rear指针向后移一位 //若到最后则转到数组头部 return OK; }//若队列不为空,删除对头元素,并用e返回q其值Status DeQueue(SqQueue &Q,int *e){ if( Q.front == Q.rear ) //队列为空 return ERROR; *e = Q.data[Q.front]; //将对头元素赋值给e Q.front = ( Q.rear +1 )%QueueSize; //front指针向后移一位 //若到最后则转到数组头部 return OK; }
0 0
- C语言数据结构——循环队列
- 循环队列 C语言数据结构
- 数据结构——循环队列(c++)
- 数据结构(C语言)实现循环队列
- C语言数据结构之循环队列
- 数据结构C语言实现之循环队列
- 数据结构.循环队列(C语言实现)
- 数据结构:循环队列(C语言实现)
- 数据结构:循环队列(C语言实现)
- 数据结构C语言实现之循环队列
- 数据结构之---C语言实现循环队列
- 数据结构:循环队列(C语言实现)
- 数据结构:循环队列(C语言实现)
- 数据结构:循环队列(C语言实现)
- 数据结构:循环队列(C语言实现)
- 数据结构:循环队列(C语言实现)
- 数据结构:循环队列(C语言实现)
- 数据结构:循环队列(C语言实现)
- 定时发送邮件
- POJ 2386 Lake Counting
- SpringMVC使用POJO和Servlet原生API作为参数
- 跨平台sdk接入总结
- maven之pom.xml详解
- C语言数据结构——循环队列
- Android ListView 使用HashMap解决复用问题
- 从Draw Calls到GC
- java下载代码
- Oracle命令小结
- 弹出层layer的使用心得
- doctrine 生成entity和xml备忘(windows下)
- ps用钢笔工具抠图
- 《慢慢学TensorFlow》微信公众号之TensorFlow 图像数据预处理及可视化