循环队列的基本运算循环队列的基本运算
/*循环队列的基本运算*/
#include
#define maxsize 10
typedef int Datatype;
typedef struct cycqueue {
Datatype data[maxsize]; /*循环队列大小*/
int front; /*队列头指针*/ int rear; /*队列尾指针*/
}CycQue;
void InitQueue(CycQue *CQ) /*队列实始化*/
{
CQ->front=0;
CQ->rear=0;
}
int EmptyQueue(...
循环队列的基本运算
/*循环队列的基本运算*/
#include
#define maxsize 10
typedef int Datatype;
typedef struct cycqueue {
Datatype data[maxsize]; /*循环队列大小*/
int front; /*队列头指针*/ int rear; /*队列尾指针*/
}CycQue;
void InitQueue(CycQue *CQ) /*队列实始化*/
{
CQ->front=0;
CQ->rear=0;
}
int EmptyQueue(CycQue *CQ) /*判队列空*/
{
if(CQ->rear==CQ->front)
return 1; /*队列为空,返回1.*/
else return 0; /*队列不为空,返回0.*/
}
int EnQueue(CycQue *CQ,Datatype x) /*入队列*/ {
if((CQ->rear+1)%maxsize==CQ->front)
{
printf("队列满!\n");/*队列满,入队失败。*/
return 0;
}
else {
CQ->rear=(CQ->rear+1)%maxsize;
CQ->data[CQ->rear]=x;/*入队成功*/
return 1;
}
}
int OutQueue(CycQue *CQ) /*出队列*/
{
if(EmptyQueue(&CQ)) /*判断队列是否为空*/
{
printf("队列空!\n");
return 0;
}
else
{
CQ->front=(CQ->front+1)%maxsize;/*不为空,出队列。*/ return 1;
}
} Datatype Gethead(CycQue *CQ) /*取队列首元素*/ { if(EmptyQueue(&CQ)) /*判断队列是否为空*/ { printf("NullData!\n"); return 0;
}
else
{ return CQ->data[(CQ->front+1)%maxsize];
} }
main()
{
CycQue CQ;
InitQueue(&CQ); int i,temp;
printf("------创建队列------\n");
for(i=1;i
本文档为【循环队列的基本运算】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑,
图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。