迹忆客 专注技术分享

当前位置:主页 > 学无止境 > 编程语言 > 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;
}

上一篇:C++ 中读/写锁的概念

下一篇:没有了

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

本文地址:

相关文章

C++ 中读/写锁的概念

发布时间:2023/08/25 浏览次数:86 分类:C++

读/写锁是一种同步机制,允许线程获取读或写锁,以便一个线程在修改资源时不会阻止另一个线程访问该资源。

用 C++ 读取 JSON 文件

发布时间:2023/08/25 浏览次数:145 分类:C++

本文将解释创建 JSON 文件,然后在编译器中从该文件读取数据的概念。 我们将使用 C++ 语言和 jsoncpp 库。本文使用Linux操作系统来完成上述任务。 不过,也可以在 Windows 操作系统上的 C++ 编译器

C++ 中的 Base 64 编码实现

发布时间:2023/08/25 浏览次数:182 分类:C++

本文将讨论 C++ 中的 base_64 编码。首先,我们将讨论 base_64 编码以及需要它的原因和位置。 稍后,我们将讨论 C++ 中的 base_64 编码/解码。

C++ 中的序列化库

发布时间:2023/08/25 浏览次数:134 分类:C++

在本文中,您将了解不同的 C++ 序列化库。首先,我们将了解序列化及其在 C++ 中的用途。 接下来,我们将讨论 C++ 中的序列化库以及如何在我们的程序中使用它们。

C++ 中的 time(NULL) 函数

发布时间:2023/08/24 浏览次数:162 分类:C++

本文将讨论 C++ 中的 time(NULL) 函数。C++ 中的 time(NULL) 函数 time() 函数,参数为 NULL,time(NULL),

C++类函数声明中的const关键字

发布时间:2023/08/24 浏览次数:136 分类:C++

在C++中,const关键字定义了那些在程序执行期间不会改变并保持不变的值。 对于变量及其保存的数据来说,这听起来非常简单。

C++ 中的 shellExecute() 函数

发布时间:2023/08/24 浏览次数:60 分类:C++

这个小型编程教程将讨论 C++ 中的 ShellExecute() 库函数。 该库函数主要用于通过C++程序打开或执行任何文件(例如脚本文件)。C++ 中的 ShellExecute() 函数

C++ 中默认参数的重新定义

发布时间:2023/08/24 浏览次数:170 分类:C++

在本文中,您将学习如何处理 C++ 中默认参数错误的重新定义。 C++ 中的默认参数必须在方法或函数的声明或定义中指定,但不能同时指定,因为存在重复。

C++ 形式参数的重新定义

发布时间:2023/08/24 浏览次数:133 分类:C++

在本文中,我们将讨论 C++ 中形式参数的重新定义问题。首先,我们将讨论函数定义和形式参数。 接下来,我们将讨论形式参数的重新定义问题。

扫一扫阅读全部技术教程

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

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便