📄 sqqueue.cpp
字号:
#include"SqQueue.h"
int InitQueue(SqQueue *Qp)
{
Qp->base=(TYPE *)malloc(sizeof(TYPE)*QUEUE_SIZE);
if(!Qp->base){
cout<<"存储分配失败!"<<endl;
Qp->base=NULL;
return FALSE;
}
Qp->front=0;
Qp->rear=0;
cout<<"队列已经初始化!"<<endl;
return TRUE;
}//InitQueue
int DestroyQueue(SqQueue *Qp)
{
if(!Qp->base){
cout<<"队列未初始化!"<<endl;
return FALSE;
}
free(Qp->base);
Qp->base=NULL;
cout<<"队列已经被销毁!"<<endl;
return TRUE;
}//DestroyQueue
int QueueDisplay(SqQueue Qp)
{
int i;
if(!Qp.base){
cout<<"队列未初始化!"<<endl;
return FALSE;
}
if(Qp.front==Qp.rear){
cout<<"队列为空队列!"<<endl;
return FALSE;
}
for(i=0;i<GetLength(Qp);i++){
cout<<Qp.base[(Qp.front+i)%QUEUE_SIZE];
cout<<' ';
}
cout<<endl;
return TRUE;
}//QueueDisplay
int GetLength(SqQueue Qp)
{
if(!Qp.base){
cout<<"队列未初始化!"<<endl;
return ERROR;
}
return (Qp.rear-Qp.front+QUEUE_SIZE)%QUEUE_SIZE;
}//GetLength
int EnQueue(SqQueue *Qp,TYPE ele)
{
if(!Qp->base){
cout<<"队列未初始化!"<<endl;
return FALSE;
}
if((Qp->rear+1)%QUEUE_SIZE==Qp->front){
cout<<"队列已满"<<endl;
return FALSE;
}
Qp->base[Qp->rear]=ele;
Qp->rear=(Qp->rear+1)%QUEUE_SIZE;
return TRUE;
}//EnQueue
int DeQueue(SqQueue *Qp)
{
if(!Qp->base){
cout<<"队列未初始化!"<<endl;
return FALSE;
}
if(Qp->front==Qp->rear){
cout<<"队列为空队列!"<<endl;
return FALSE;
}
Qp->front=(Qp->front+1)%QUEUE_SIZE;
return TRUE;
}//DeQueue
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -