C++ 中的队列数组
本节将讨论具有可变大小的 C++ 全局队列数组。
C++ 中的队列数组
队列是一种线性数据结构,允许在一端(称为头)插入新元素,并从另一端(称为尾)提取元素。 队列通常用于实现先进先出(FIFO)队列或优先级队列。
C++ 全局队列数组用于存储任意数量的队列。 每个队列的大小可以在创建全局数组时设置。
这使得创建具有不同大小和容量的数组成为可能,该数组可用于存储不同类型的数据。
此数据结构对于存储其中有许多项目但并非同时需要所有项目的数据很有用。 例如,如果您想存储姓名列表,但只需要偶尔查找姓名,那么这将是您的列表的好地方。
C++ 队列数据结构的基本操作
队列数据结构支持以下操作:
- EnQueue:这会将新项目插入队列中。 当一个项目被添加到队列中时,它总是被添加到队列的末尾。
- DeQueue:此方法从队列中删除一个项目。 项目总是从队列前面撤回或出队。
- isEmpty:判断队列是否为空。
- isFull:判断队列是否已满。
在 C++ 中实现可变大小队列数组的步骤
- 通过指定队列可以容纳的最大元素数来定义队列大小。
- 创建一个数组来存储队列元素。
- 初始化数组以保存预定义数量的空槽。
- 通过使用值和索引调用 Enqueue() 将元素添加到数组末尾。
- 通过使用值和索引调用 Dequeue() 从数组前面删除元素。
例子:
#include <bits/stdc++.h>
using namespace std;
struct Queue {
int start, stop, eon;
int* queue;
Queue(int y)
{
start = stop = 0;
eon = y;
queue = new int;
}
void queueEnqueue(int ghm)
{
if (eon == stop) {
cout<< endl <<"This Queue is not empty" <<endl;
return;
}
else {
queue[stop] = ghm;
stop++;
}
return;
}
void demoSam()
{
int x;
for (x = start; x < stop; x++) {
cout<< queue[x];
}
return;
}
};
int main(void)
{
Queue q(3);
q.demoSam();
q.queueEnqueue(6);
q.queueEnqueue(3);
q.queueEnqueue(12);
q.demoSam();
q.queueEnqueue(13);
q.demoSam();
return 0;
}
相关文章
Arduino 复位
发布时间:2024/03/13 浏览次数:315 分类:C++
-
可以通过使用复位按钮,Softwarereset 库和 Adafruit SleepyDog 库来复位 Arduino。
Arduino 的字符转换为整型
发布时间:2024/03/13 浏览次数:181 分类:C++
-
可以使用简单的方法 toInt()函数和 Serial.parseInt()函数将 char 转换为 int。
Arduino 串口打印多个变量
发布时间:2024/03/13 浏览次数:381 分类:C++
-
可以使用 Serial.print()和 Serial.println()函数在串口监视器上显示变量值。