2013-10-30 80 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,每次插入到隊列中,檢查這超過容量..