【问题标题】:If I'm trying to create a Queue in C++, how do I make the Queue of a certain size?如果我试图在 C++ 中创建一个队列,我如何制作一定大小的队列?
【发布时间】:2013-10-30 01:49:37
【问题描述】:

我对 C++ 很陌生,对如何创建队列(我们的第一个家庭作业)感到很困惑。

对于构造函数,我们应该接受队列应该的长度。如果队列的长度还不是斐波那契数,则队列的长度必须是大于给定长度的最接近的斐波那契数。 (例如:如果在构造函数中给出 10,则将长度设为 13)。

现在我将队列实现为一个数组。我是否应该在我的标题的私有部分有类似int queueContents[]; 的东西,然后将其设置为构造函数中最接近的斐波那契数?

我将如何声明它以在整个文件中使用并在我的构造函数中设置它的长度?

【问题讨论】:

  • 您打算将其保留为数组吗?您可以使用列表并使用大小变量限制输入。
  • 不幸的是,我的作业声明使用数组。

标签: c++ arrays queue


【解决方案1】:

您将有一个全局变量来跟踪大小(如果您为了提高效率而需要增加它)。

ArrayQueue(int sz) 
{
   size = getFib(sz);
   queueContents = new int[size];
   //set front and back to initial value   
}

getFib(int sz) {...}

是的,您需要一个全局变量int *queueContents。 (指针首选)。

欢迎提出更多问题。我最近也不得不编写一个基本的基于数组的队列,所以(希望)我可以回答你的任何问题。 :)

【讨论】:

    【解决方案2】:

    你可以计算最接近的斐波那契数,然后有一个变量capacity,每次插入队列时,检查它是否超过容量..

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-10-13
      • 2013-06-30
      • 1970-01-01
      • 2013-11-15
      • 2010-10-04
      • 1970-01-01
      • 1970-01-01
      • 2020-09-02
      相关资源
      最近更新 更多