c++队列题目
作者:野牛程序员:2023-08-26 06:45:49题目阅读 2753
题目描述:编写一个程序,实现一个基于数组的队列。要求队列具有入队(enqueue)和出队(dequeue)两个操作。
样例输入:
5 // 设置队列的最大容量为5 enqueue 1 // 入队元素1 enqueue 2 // 入队元素2 dequeue // 出队操作 enqueue 3 // 入队元素3 dequeue // 出队操作
样例输出:
Enqueued 1 // 入队元素1 Enqueued 2 // 入队元素2 Dequeued 1 // 出队元素1 Enqueued 3 // 入队元素3 Dequeued 2 // 出队元素2
思路分析: 首先,创建一个固定大小的整型数组作为队列的存储结构,再创建两个指针变量,一个指向队列头部(front),另一个指向队列尾部的下一个位置(rear)。入队操作时,将元素添加到rear指针指向的位置,然后将rear指针右移一位。出队操作时,返回front指针指向的元素,然后将front指针右移一位。
代码演示:
#include <iostream> using namespace std; const int MAX_SIZE = 5; int queue[MAX_SIZE]; int front = 0, rear = 0; void enqueue(int item) { if (rear < MAX_SIZE) { queue[rear] = item; cout << "Enqueued " << item << endl; rear++; } else { cout << "Queue is full. Cannot enqueue." << endl; } } int dequeue() { if (front < rear) { int item = queue[front]; cout << "Dequeued " << item << endl; front++; return item; } else { cout << "Queue is empty. Cannot dequeue." << endl; return -1; // Return a sentinel value to indicate error } } int main() { enqueue(1); enqueue(2); dequeue(); enqueue(3); dequeue(); return 0; }
野牛程序员教少儿编程与信息学奥赛-微信|电话:15892516892
- 上一篇:excel中取对数的函数
- 下一篇:在苹果手机上关闭应用有以下几种方法: