酷代码 AI
菜单
服务商

作为c++开发,实现一个循环队列

在C++中,可以使用模板和指针来实现一个循环队列。以下是一个简单的实现: ```cpp template <typename T> class CircularQueue { private: int front, rear, capacity; T* queue; public: CircularQueue(int size) { front = -1; rear = -1; capacity = size; queue = new T[size]; } ~CircularQueue() { delete[] queue; } bool isFull() { return (rear + 1) % capacity == front; } bool isEmpty() { return front == -1; } void enqueue(T value) { if (isFull()) { cout << "Queue is full" << endl; return; } if (isEmpty()) { front = rear = 0; } else { rear = (rear + 1) % capacity; } queue[rear] = value; } T dequeue() { if (isEmpty()) { cout << "Queue is empty" << endl; return T(); } T value = queue[front]; if (front == rear) { front = rear = -1; } else { front = (front + 1) % capacity; } return value; } T front() { if (isEmpty()) { cout << "Queue is empty" << endl; return T(); } return queue[front]; } }; ``` 在这个实现中,我们使用一个数组来存储队列的元素,使用front和rear指针来跟踪队列的头部和尾部。当队列满时,我们不能添加更多的元素。当队列为空时,我们不能从队列中删除元素。 [2023-11-09 00:39:05 | AI写代码神器 | 378点数解答]

相关提问
请收藏新域名:pdcd.cn
发财导航,免费问AI
实用工具查看更多
今日油价 [生活类]
图片互转base64 [开发类]
时间转换器 [开发类]
数独游戏 [娱乐类]
经典推箱子 [娱乐类]
AI摸鱼五子棋 [娱乐类]