顺序队中实现队列的基本运算

 顺序队中实现队列的基本运算


  //(1)初始化队列
 void InitQueue(Squeue *&q)
 {
   q=(Squeue *)malloc (sizeof(Squeue));
   q->front=q-rear=-1;     
 }
 //(2)销毁队列
 void DestroyQueue(Squeue *&q)
 {
   free(q);  
 } 
 //(3)判断队列是否为空
 bool QueueEmpty(SqQueue *q)
 {
   return (q->front==q->rear);     
 } 
 //(4)进队列
 bool enQueue(SqQueue *&q,Elemtype e)
 {
   if(q->front==MaxSize-1)
     return false;
   q->rear++;
   q->data[q->rear]=e;
   return true;
 }
 //(5)出队列
 bool deQueue(SqQueue *&q,Elemtype &e)
 {
   if(q->front==q->rear)
     return false;
   q->front++;
   e=q->data[q->front];
   return true;     
 } 

你可能感兴趣的:(数据结构,顺序队列)