如果隊列頭指針是front,隊列尾指針是rear,隊列容量是M,那麽元素個數是|rear-front+M|%M,註意這個%是余數運算。
設f為隊首,r為隊尾,m為隊長,a為元素個數,則1 . f >;r,a = m+r-f;2.f & lt當=r時,a=r-f
為了充分利用向量空間,克服“偽溢出”現象的辦法是把向量空間想象成壹個首尾相連的環,把這個向量叫做循環向量。存儲在其中的隊列稱為循環隊列。這種循環隊列在實際編程應用中可以以單鏈表的形式實現。
在循環隊列中,因為進入隊列時尾指針趕上頭指針;離隊時,頭指針向前追上尾指針,使得隊伍空滿時頭尾指針相等。因此,不能通過條件front==rear來判斷隊列是“空”還是“滿”。
參考資料:
百度百科-循環隊列