c++隊列 循環(huán)隊列有哪些優(yōu)缺點?
循環(huán)隊列有哪些優(yōu)缺點? 1. 循環(huán)隊列的優(yōu)點:可以有效地利用資源。當使用數(shù)組實現(xiàn)隊列時,如果不移動隊列,隨著數(shù)據(jù)的不斷讀寫,隊列將是偽滿的。即尾部數(shù)組已滿,但頭部數(shù)組仍為空;循環(huán)隊列也是一個數(shù)組,但它
循環(huán)隊列有哪些優(yōu)缺點?
1. 循環(huán)隊列的優(yōu)點:可以有效地利用資源。當使用數(shù)組實現(xiàn)隊列時,如果不移動隊列,隨著數(shù)據(jù)的不斷讀寫,隊列將是偽滿的。即尾部數(shù)組已滿,但頭部數(shù)組仍為空;循環(huán)隊列也是一個數(shù)組,但它在邏輯上連接數(shù)組的頭部和尾部以形成一個循環(huán)隊列。當數(shù)組尾部已滿時,需要判斷數(shù)組頭部是否為空,并繼續(xù)存儲數(shù)據(jù)。
2. 循環(huán)隊列的缺點:在循環(huán)隊列中,當進入隊列時,尾部指針追上頭部指針;當離開隊列時,頭部指針追上尾部指針,導致隊列為空或滿時,頭部-尾部指針相等。因此,不可能通過條件front==real來判斷隊列是空的還是滿的。
3. 擴展知識:為了充分利用向量空間,克服“虛溢出”現(xiàn)象的方法是把向量空間想象成一個從頭到尾相連的環(huán),并稱這種向量為循環(huán)向量。存儲在其中的隊列稱為循環(huán)隊列。