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


//(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;     
  }