#include"stdio.h"
#include"malloc.h"
#define MAX 7
typedef struct{
int queue[MAX];
int front;
int rear;
}Queue;
void InitQueue(Queue *&q)
{
q = (Queue *)malloc(sizeof(Queue));
q->front = q->rear = 0;
}
int isFull(Queue *q)
{
if((q->rear+1)%MAX==q->front)
return 1;
return 0;
}
int EnterQueue(Queue *q, int x)
{
if(isFull(q))
return 0;
q->rear = (q->rear+1)%MAX;
q->queue[q->rear] = x;
return 1;
}
int DeleteQueue(Queue *q, int &x)
{
if(q->rear==q->front)
return 0;
x = q->queue[(q->front+1)%MAX];
q->front = (q->front+1)%MAX;
return 1;
}
int QueueSize(Queue *q)
{
return (q->rear-q->front+MAX)%MAX;
}
void display(Queue *q)
{
int n = q->front+1;
printf("The List: ");
while(n!=(q->rear+1)%MAX)
{
printf("%d ",q->queue[n]);
n = (n+1)%MAX;
}
printf("\n");
}
void main()
{
Queue *q;
InitQueue(q);
for(int i=1;i<5;i++)
EnterQueue(q,i);
display(q);
printf("The queue size is %d \n",QueueSize(q));
int x;
DeleteQueue(q,x);
printf("The delete the element is %d \n",x);
display(q);
printf("The queue size is %d \n",QueueSize(q));
EnterQueue(q,9);
display(q);
printf("The queue size is %d \n",QueueSize(q));
}
分享到:
相关推荐
queue.h头文件:循环队列的实现,操作包括初始化队列、入队、检查是否为空、出队、检查是否为满。源.cpp:利用两个队列打印出杨辉三角。
循环队列的C++实现,采用类写的,对数据结构学习者很有用哈
循环队列的基本操作和实现循环队列的基本操作和实现
这是循环队列的源代码,里面描述了他们的使用方法!
从项目中剥离,通信类接收数据时采用循环队列的方式。此工程在STM32F103ZET6上运行。开发环境为Keil for ARM 5.10
利用485的数据传输,制作出一个循环队列,制作协议解析循环队列中数据
1.任意输入队列长度和队列中的元素值,构造一个顺序循环队列,对其进行清空、插入新元素、返回队头元素以及删除队头元素操作。 2.约瑟夫环的实现:设有n个人围坐在圆桌周围,现从某个位置 i 上的人开始报数,数到 ...
队列特性:先进先出(FIFO)——先进队列的元素先出队列。下面以一个简单的例子实现循环队列的操作。博客地址:http://blog.csdn.net/bingdianlanxin,有问题欢迎留言。
循环队列模拟器.py循环队列模拟器.py循环队列模拟器.py循环队列模拟器.py循环队列模拟器.py循环队列模拟器.py循环队列模拟器.py循环队列模拟器.py循环队列模拟器.py循环队列模拟器.py循环队列模拟器.py循环队列...
数据结构 严蔚敏 C语言版 循环队列 很给劲哦 绝对不会令您失望的。
数据结构-基本算法-循环队列(学生时代源码,调试可运行)
该C程序使用循环队列实现了N行杨辉三角的输出,实现简单。 使用VC进行编译即可。
用循环队列解决约瑟夫环问题减少用顺序表在出对是循环移动带来的空间复杂度
1、利用循环队列模拟舞伴配对问题:在舞会上,男、女各自排成一队。舞会开始时。依次从男队和女队的队头各出一人配成舞伴。如果两队初始人数不等,则较长的那一队中未配对者等待下一轮舞曲。 2、假设初始男、女人数...
循环队列
数据结构作业之七循环队列,数据结构作业之七循环队列,数据结构作业之七循环队列
用数据结构循环队列实现约瑟夫环问题,数据结构的一次实验;
实现顺序栈或循环队列的存储 概要设计 1、定义循环队列的结构 2、返回循环队列的长度 3、访问循环队列元素 4、取循环队列的队头元素 5、在循环队列的队尾插入元素 6、删除循环队列的队头元素 7、清空循环队列...
队列的简单介绍,包括循环队列以及迷宫问题等