循環(huán)隊(duì)列front和rear計(jì)算 循環(huán)隊(duì)列長(zhǎng)度的計(jì)算公式是怎么得出來(lái)的,能具體推導(dǎo)一下嗎?
循環(huán)隊(duì)列長(zhǎng)度的計(jì)算公式是怎么得出來(lái)的,能具體推導(dǎo)一下嗎?當(dāng)隊(duì)列的尾部超過(guò)最大長(zhǎng)度時(shí),隊(duì)列的頭部可能沒(méi)有超過(guò)它。例如,當(dāng)最大長(zhǎng)度為100時(shí),當(dāng)隊(duì)列的尾部為102時(shí)(此時(shí),real中的存儲(chǔ)已經(jīng)是2(即10
循環(huán)隊(duì)列長(zhǎng)度的計(jì)算公式是怎么得出來(lái)的,能具體推導(dǎo)一下嗎?
當(dāng)隊(duì)列的尾部超過(guò)最大長(zhǎng)度時(shí),隊(duì)列的頭部可能沒(méi)有超過(guò)它。例如,當(dāng)最大長(zhǎng)度為100時(shí),當(dāng)隊(duì)列的尾部為102時(shí)(此時(shí),real中的存儲(chǔ)已經(jīng)是2(即102 0),并且前部可能仍然是98。在這種情況下,隊(duì)列長(zhǎng)度不能直接由real front計(jì)算,而是由(real front maxqsize)%maxqsize計(jì)算。即:2-98=-4,錯(cuò)誤,(2-98 100) 0=4,這是正確的。