2012-09-10 43 views
0

我想知道以下方法是否正確以反轉隊列: - 將隊列中的所有元素髮布並將其存儲在數組a中,從索引0到a.length-1 - 將每個隊列元素數組返回隊列,但從索引a.length-1開始到0如何反轉隊列

是否有更好的解決方案?我們cud使用堆棧,但它基本上像使用像我的解決方案上面的數組相同。

+2

7個接受0個答案的問題不是讓人們回答你的第8個問題的好方法。僅供參考 - 您是否嘗試過您的解決方案?你有沒有發現問題? –

回答

1

如果您事先知道隊列大小,那麼您的方法將比使用堆棧更有效,因爲數組訪問比更新堆棧的狀態稍快。

如果您因任何原因不知道隊列大小,堆棧將正常工作。

確保您的隊列在反轉操作期間沒有改變。如果在將元素出列時可以將項添加到隊列中,則最初爲陣列測量的大小可能不再有效。根據編寫代碼的方式,這可能會導致異常,因爲您索引超出數組的末尾,或者將一些項目保留在原始隊列中,而不是反轉它們。