循环队列代码模板

    科技2022-08-18  102

    /* 循环队列,head和tail指针超出数组范围之后重置为0,循环队列head和tail之间至少有一个空位。 */ #include <iostream> using namespace std; const int MAXN = 5; int q[MAXN]; int head, tail; // 初始化 void initialize() { head = tail = 0; } // 判满 bool isFull() { return head == (tail + 1) % MAXN; } // 判空 bool isEmpty() { return head == tail; } // 入队 void enQueue(int x) { if (isFull()) { cout << "Error" << endl; } q[tail] = x; if (tail + 1 == MAXN) { tail = 0; } else { tail++; } } // 出队 int deQueue() { if (isEmpty()) { cout << "Error" << endl; } int x = q[head]; if (head + 1 == MAXN) { head = 0; } else { head++; } return x; }
    Processed: 0.030, SQL: 9