循环队列的定义及操作
来源:互联网 发布:飞狐软件免费吗 编辑:程序博客网 时间:2024/05/16 16:13
#include <stdio.h>#include <malloc.h>#define MAXSIZE 50typedef struct{ int element[MAXSIZE]; int front; //队头指示器 int rear; //队尾指示器} SeqQueue;void InitQueue(SeqQueue *Q);//初始化操作,将Q初始化为一个空的循环队列bool EnterQueue(SeqQueue *Q,int x);//入队,将元素x入队bool DeleteQueue(SeqQueue *Q,int *x);//出队,删除队列的队头元素,用x返回其值int main(void){ SeqQueue S; SeqQueue *s=&S; int x; int *a=&x; InitQueue(s); for(int i=1; i<=10; i++) EnterQueue(s,i); for(int i=1; i<=10; i++) { DeleteQueue(s,a); printf("%d ",x); } printf("\n"); return 0;}void InitQueue(SeqQueue *Q)//初始化操作,将Q初始化为一个空的循环队列{ Q->front=Q->rear=0;}bool EnterQueue(SeqQueue *Q,int x)//入队,将元素x入队{ if((Q->rear+1)%MAXSIZE==Q->front)//尾指针加一追上头指针,队列已满 return false; Q->element[Q->rear]=x; Q->rear=(Q->rear+1)%MAXSIZE; return true;}bool DeleteQueue(SeqQueue *Q,int *x)//出队,删除队列的队头元素,用x返回其值{ if(Q->front==Q->rear)//队列为空 return false; *x=Q->element[Q->front]; Q->front=(Q->front+1)%MAXSIZE;//重新设置队头指针 return true;//操作成功}
阅读全文
1 0
- 循环队列的定义及操作
- 队列及循环队列的基本操作
- 链队列的定义及相关操作
- 队列定义及实现、循环队列实现
- 循环队列的操作
- 循环队列的操作
- 循环队列的操作(循环队列)
- 静态循环队列的相关操作及详解
- 静态循环队列的相关操作及详解
- 数据结构之队列11循环队列定义及实现
- 循环队列的相关操作
- 循环队列的基本操作
- 循环队列的基本操作
- 循环队列的基本操作
- 循环队列的基本操作
- 循环队列的基本操作
- 循环队列的基本操作
- 循环队列的基本操作
- input为file上传文件
- oracle 游标
- Circle(山东省第五届ACM大学生程序设计竞赛 )
- Broadcast初步理解
- Android、ios移动端车牌识别技术
- 循环队列的定义及操作
- 25. Reverse Nodes in k-Group
- 小型电商服务器平台搭建(一)
- 栈和队列判断回文数
- oracle 锁
- 多个APP共存Django配置
- 【脚本语言系列】关于Python音频处理WMPlayerOCX,你需要知道的事情
- win10下使用nodejs安装
- 位置、变换的表示