环形队列
- 将数组queue[mMaxSize]视为环,队列头指针front,尾指针rear,为了避免二义性,最多只容纳mMaxSize-1个元素;
- front == rear时,队列为空;front == (rear+1) % mMaxSize时,队列为满;
- front所指处不放元素;
-
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]; }
浙公网安备 33010602011771号