PHP多程序爬蟲
阿新 • • 發佈:2020-08-28
順序迴圈佇列
- 在判斷隊空和隊滿時有3種方法,看教材
- 這裡列舉其中一種
#pragma once #include <stdio.h> #define maxSize 100 typedef int ElemType; typedef struct { int rear, front; //front指向隊頭第一個,rear指向隊尾的下一個 ElemType data[maxSize]; } SeqQueue; //初始化 void initQueue(SeqQueue &q) { q.front = q.rear = 0; } //判斷空 bool isEmpty(SeqQueue q) { return q.rear == q.front; } //入隊 bool enQueue(SeqQueue &q, ElemType x) { if ((q.rear + 1) % maxSize == q.front) return false; //已滿的情況 q.data[q.rear] = x; q.rear %= maxSize; return true; } //出隊 bool deQueue(SeqQueue &q, ElemType &x) { if (q.rear == q.front) return false; x = q.data[q.front]; q.front = (q.front + 1) % maxSize; return true; } //獲取隊頭元素 ElemType getTop(SeqQueue q) { if (q.rear == q.front) return false; return q.data[q.front]; } //計算對內元素的個數 int getNum(SeqQueue q){ return (q.rear + maxSize -q.front) % maxSize; }