子串在主串中的位置是什么 循環(huán)隊(duì)列的引入,目的是為了什么?
循環(huán)隊(duì)列的引入,目的是為了什么?1. 循環(huán)隊(duì)列的優(yōu)點(diǎn):可以有效利用資源。當(dāng)使用數(shù)組實(shí)現(xiàn)隊(duì)列時(shí),如果不移動(dòng)隊(duì)列,隨著數(shù)據(jù)的不斷讀寫,隊(duì)列將是偽滿的。即尾部數(shù)組已滿,但頭部數(shù)組仍為空;循環(huán)隊(duì)列也是一個(gè)數(shù)組
循環(huán)隊(duì)列的引入,目的是為了什么?
1. 循環(huán)隊(duì)列的優(yōu)點(diǎn):
可以有效利用資源。當(dāng)使用數(shù)組實(shí)現(xiàn)隊(duì)列時(shí),如果不移動(dòng)隊(duì)列,隨著數(shù)據(jù)的不斷讀寫,隊(duì)列將是偽滿的。即尾部數(shù)組已滿,但頭部數(shù)組仍為空;循環(huán)隊(duì)列也是一個(gè)數(shù)組,但它在邏輯上連接數(shù)組的頭部和尾部以形成一個(gè)循環(huán)隊(duì)列。當(dāng)數(shù)組尾部已滿時(shí),需要判斷數(shù)組頭部是否為空,并繼續(xù)存儲(chǔ)數(shù)據(jù)。
2. 循環(huán)隊(duì)列的缺點(diǎn):在循環(huán)隊(duì)列中,由于進(jìn)入隊(duì)列時(shí)尾部指針追上頭部指針,離開隊(duì)列時(shí)頭部指針追上尾部指針,因此當(dāng)隊(duì)列為空和滿時(shí),頭部和尾部指針是相等的。因此,不可能通過條件front==real來判斷隊(duì)列是空的還是滿的。
3. 擴(kuò)展知識(shí):為了充分利用向量空間,克服“虛溢出”現(xiàn)象的方法是將向量空間想象成一個(gè)端到端連接的環(huán),并稱這個(gè)向量為循環(huán)向量。存儲(chǔ)在其中的隊(duì)列稱為循環(huán)隊(duì)列。
隊(duì)列循環(huán)的原則?
循環(huán)隊(duì)列是在存儲(chǔ)空間中形成端到端環(huán)的實(shí)現(xiàn),但仍然保持隊(duì)列的特性(先進(jìn)先出)