环形队列

  1. 将数组queue[mMaxSize]视为环,队列头指针front,尾指针rear,为了避免二义性,最多只容纳mMaxSize-1个元素;
  2. front == rear时,队列为空;front == (rear+1) % mMaxSize时,队列为满;
  3. front所指处不放元素;
  4. void queueAdd(const int x) {
        int k = (rear + 1) % mMaxSize;
        if (front == k) 
            QueueFull();
        else {
            queue[k] = x;
            rear = k;
        } 
    }
    int  queueDelete() {
        if (front == rear) {
            QueueEmpty();
            return 0;
        }
        front = (front+1) % mMaxSize;
        return queue[front]; 
    }

     

posted on 2017-09-10 16:47  Valenpqq  阅读(118)  评论(0)    收藏  举报