可能重複:
how to find number of elements in a Circular Queue循環隊列大小
我實現一個循環隊列,但我不能得到正確的隊列的大小。 我發現了一個關於同一問題的前一個主題,提出的解決方案是使用兩個指針,並增加第二個指針,但它不指向與第一個指針相同的對象。但我認爲這個appoach只有在隊列中有不同的對象時才能工作。就我而言,所有的對象都是相似的。我怎樣才能得到循環隊列的大小? 這個公式不爲我工作太:
int size = abs(m_front -m_tail) ;
凡m_front和m_tail是尾部和前隊列索引。
感謝
問:你的隊列實現爲一個數組嗎?如果它只是一個鏈表,那麼你可以做的最好的決定是什麼時候front == tail;你*不能*確定「大小」,除非你自己保持計數。 – paulsm4
同一個:http://stackoverflow.com/questions/4459141/how-to-find-number-of-elements-in-a-circular-queue –
@ paulsm4:是的,它是作爲一個數組實現的。當front == tail時,它只是表示數組是空的。 – Galileo