是否有可能通過使用array
來實現循環隊列,而沒有計數器來計數隊列中的項目數或不浪費陣列的任何條目?沒有浪費條目或使用計數器的循環隊列
我想什麼:
這是不可能的,讓我們假設我們有兩個指針front
和rear
,第一個點到隊列的第一個元素,
我們可以定義後指針方法有兩種:
1.It點向其中插入到隊列的最後一個元素,那麼下一個條目是要插入的下一個元素可能的地方
2.它指向下一個元素將要插入的位置
無論哪種情況,我們都無法區分完整的&空隊列如果我們不浪費至少一個數組的條目或者我們不' t保留一個計數器the number of inserted - number of deleted elements
這是一個有趣的方法,但您在技術上仍然會失去一點來跟蹤空白或滿:符號位。在我看來,這是一個不錯的選擇,因爲一個耗費4個字節大小的20億計數的隊列將會出現其他問題。 +1給你。 –
首先是一個錯字?即首先意味着前方? – RootPhoenix