#include
#define MAX_SIZE 10
class CircularQueue {
private:
int front, rear;
int queue[MAX_SIZE];
public:
CircularQueue() {
front = -1;
rear = -1;
}
bool isEmpty() {
return front == -1 && rear == -1;
}
bool isFull() {
return (rear + 1) % MAX_SIZE == front;
}
void enqueue(int value) {
if (isFull()) {
std::cout << "Queue is full. Cannot enqueue.\n";
return;
}
if (isEmpty()) {
front = 0;
rear = 0;
} else {
rear = (rear + 1) % MAX_SIZE;
}
queue[rear] = value;
std::cout << value << " enqueued to the queue.\n";
}
void dequeue() {
if (isEmpty()) {
std::cout << "Queue is empty. Cannot dequeue.\n";
return;
}
std::cout << queue[front] << " dequeued from the queue.\n";
if (front == rear) {
front = -1;
rear = -1;
} else {
front = (front + 1) % MAX_SIZE;
}
}
void display() {
if (isEmpty()) {
std::cout << "Queue is empty.\n";
return;
}
int i = front;
while (i != rear) {
std::cout << queue[i] << " ";
i = (i + 1) % MAX_SIZE;
}
std::cout << queue[rear] << "\n";
}
};
int main() {
CircularQueue q;
q.enqueue(10);
q.enqueue(20);
q.enqueue(30);
q.display();
q.dequeue();
q.display();
q.enqueue(40);
q.display();
return 0;
}
C++循环队列的实现方法
未经允许不得转载 » 本文链接:https://www.117.info/ask/fe4b2AzsIAw9QA1w.html
推荐文章
-
c# winform组件 怎样集成
在C# WinForms应用程序中集成组件通常涉及以下几个步骤: 添加引用: 首先,确保你已经安装了所需的组件。例如,如果你想要集成一个第三方库,你需要将该库的DLL...
-
c# winform组件 怎样提高效率
要提高C# WinForms应用程序的效率,可以从多个方面入手,包括优化绘图过程、使用异步操作、合理设置控件属性等。以下是一些具体的优化策略:
优化绘图过程 ... -
c# winform组件 怎样自定义
在C#中,要自定义WinForms组件,您需要创建一个继承自现有控件的新类,并重写其构造函数、事件处理程序和其他相关方法。以下是一个简单的示例,说明如何创建一个...
-
c# winform组件 怎样选择合适
在C# WinForms应用程序开发中,选择合适的组件对于构建高效、用户友好的界面至关重要。以下是一些选择合适组件的建议:
控件选择 根据需求选择:选择控件时... -
C++ npos面试题精选解析
什么是npos? npos是string类中的一个静态成员变量,表示一个不存在的位置或者不存在的索引。在大多数情况下,当字符串中的一个函数返回npos时,表示没有找到指定...
-
C++ npos的最佳实践技巧
在C++中,npos是一个常量,表示无效的位置或长度。它通常用于标识字符串或容器中的最后一个元素的位置。以下是一些关于npos的最佳实践技巧: 使用npos来表示无效...
-
C++ npos在搜索算法中的作用
在C++中,npos是一个静态常量,它表示字符串或序列的末尾位置。在搜索算法中,npos通常用于表示未找到所需元素或子串的情况。当搜索算法无法找到目标元素或子串时...
-
C++ npos与迭代器的关联
npos 是 C++ 标准库中的一个常量,用于表示一个无效的或不存在的位置或索引。在 string、vector 和其他容器类中,npos 通常表示一个位置或索引不存在或未找到。<...