2013-10-30 52 views
0

我对C++很陌生,对于如何创建Queue(我们的第一个作业)非常困惑。如果我想用C++创建一个队列,我该如何创建一定大小的队列?

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

现在我正在将Queue实现为一个数组。我应该在头文件的私有部分中使用类似int queueContents[];的东西,然后将其设置为构造函数中最接近的斐波那契数字?

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

+1

你打算保持它的数组?您可以使用列表并使用大小变量限制输入。 – ChiefTwoPencils

+0

我的任务状态不幸地使用一个数组。 –

回答

1

你将有一个全局变量保持一定的尺寸的曲目(如果为了效率的缘故你需要增长它)。

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

getFib(int sz) {...} 

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

随时提出进一步的问题。我最近不得不编写一个基本的基于数组的队列,所以(希望)我可以回答你将会遇到的任何问题。 :)

0

可以计算最近的斐波那契数,然后有一个变量capacity,每次插入到队列中,检查这超过容量..