⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 sqqueue.cpp

📁 各种算法的c语言程序
💻 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 + -