单选题

下面定义了一个循环队列的类,请补全判断队列是否满的函数,横向上应填写(    )。

#include <iostream> using namespace std;

class circular_queue {

private:

int *arr; // 数组用于存储队列元素

int capacity; // 队列容量 int front; // 队头指针 int rear; // 队尾指针


public:

circular_queue(int size) {

capacity = size + 1; // 为了避免队列满时与队列空时指针相等的情况,多预留一个空间

arr = new int[capacity];

front = 0;

rear = 0;

}


~circular_queue() {

delete[] arr;

}


bool is_empty() {

return front == rear;

}


bool is_full() {

___________// 在此处填入代码

}


void en_queue(int data) {

if (is_full()) {

cout << "队列已满,无法入队!" << endl;

return -1;

}

arr[rear] = data;

rear = (rear + 1) % capacity;

return 1;

}


int de_queue() {

if (is_empty()) {

cout << "队列为空,无法出队!" << endl;

return -1; // 出队失败,返回一个特殊值

}

int data = arr[front];

front = (front + 1) % capacity;

return data;

}

};

A

return (rear + 1) % capacity == front;

B

return rear % capacity == front;

C

return rear == front;

D

return (rear + 1) == front;

赣ICP备20007335号-2