迹忆客 专注技术分享

当前位置:主页 > 学无止境 > 编程语言 > C++ >

C++ 中的队列数组

作者:迹忆客 最近更新:2023/08/25 浏览次数:

本节将讨论具有可变大小的 C++ 全局队列数组。


C++ 中的队列数组

队列是一种线性数据结构,允许在一端(称为头)插入新元素,并从另一端(称为尾)提取元素。 队列通常用于实现先进先出(FIFO)队列或优先级队列。

C++ 全局队列数组用于存储任意数量的队列。 每个队列的大小可以在创建全局数组时设置。

这使得创建具有不同大小和容量的数组成为可能,该数组可用于存储不同类型的数据。

此数据结构对于存储其中有许多项目但并非同时需要所有项目的数据很有用。 例如,如果您想存储姓名列表,但只需要偶尔查找姓名,那么这将是您的列表的好地方。


C++ 队列数据结构的基本操作

队列数据结构支持以下操作:

  1. EnQueue:这会将新项目插入队列中。 当一个项目被添加到队列中时,它总是被添加到队列的末尾。
  2. DeQueue:此方法从队列中删除一个项目。 项目总是从队列前面撤回或出队。
  3. isEmpty:判断队列是否为空。
  4. 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;
}

转载请发邮件至 1244347461@qq.com 进行申请,经作者同意之后,转载请以链接形式注明出处

本文地址:

相关文章

Arduino 中停止循环

发布时间:2024/03/13 浏览次数:444 分类:C++

可以使用 exit(0),无限循环和 Sleep_n0m1 库在 Arduino 中停止循环。

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()函数在串口监视器上显示变量值。

Arduino if 语句

发布时间:2024/03/13 浏览次数:123 分类:C++

可以使用 if 语句检查 Arduino 中的不同条件。

Arduino ICSP

发布时间:2024/03/13 浏览次数:214 分类:C++

ICSP 引脚用于两个 Arduino 之间的通信以及对 Arduino 引导加载程序进行编程。

使用 C++ 编程 Arduino

发布时间:2024/03/13 浏览次数:127 分类:C++

本教程将讨论使用 Arduino IDE 在 C++ 中对 Arduino 进行编程。

Arduino 中的子程序

发布时间:2024/03/13 浏览次数:168 分类:C++

可以通过在 Arduino 中声明函数来处理子程序。

扫一扫阅读全部技术教程

社交账号
  • https://www.github.com/onmpw
  • qq:1244347461

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便