一、认识队列
队列是一种常见的数据结构,按照先进先出(FIFO,First In First Out)的原则排列数据。也就是说,最早进入队列的元素最先被移除。队列主要支持两种基本操作:
入队(enqueue):将元素添加到队列的尾部。
出队(dequeue):从队列的头部移除并返回元素。
队列的其他操作:
创建队列:初始化一个空队列。
查看队列头部元素:返回但不移除队列的头部元素(通常称为'peek'或'front')。
判断队列是否为空:检查队列中是否还有元素。
获取队列大小:返回队列中元素的数量。
1. 顺序队列
顺序队列即用顺序结构存储,数组实现:
#include <iostream>
class Queue {
private:
int* arr;
int front;
int rear;
int capacity;
public:
Queue(int size) {
arr = new int[size];
capacity = size;
front = 0;
rear = -1;
}
~Queue() {
delete[] arr;
}
void enqueue(int item) {
if (rear == capacity - 1) {
std::cout << "Queue is full!" << std::endl;
return;
}
arr[++rear] = item;
}
int dequeue() {
if (is_empty()) {
std::cout << "Queue is empty!" << std::endl;
;
}
arr[front++];
}
{
(()) {
std::cout << << std::endl;
;
}
arr[front];
}
{
front > rear;
}
{
rear - front + ;
}
};
{
;
q.();
q.();
q.();
std::cout << << q.() << std::endl;
std::cout << << q.() << std::endl;
std::cout << << q.() << std::endl;
;
}


