c++队列题目
作者:野牛程序员:2023-08-26 06:45:49题目阅读 3314
题目描述:编写一个程序,实现一个基于数组的队列。要求队列具有入队(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中取对数的函数
- 下一篇:在苹果手机上关闭应用有以下几种方法:
