对循环队列的理解
循環(huán)隊(duì)列存儲(chǔ)在數(shù)組A[0…n-1]中,其頭尾指針?lè)謩e為f和r,頭指針f總是指向隊(duì)頭元素,尾指針r總是指向隊(duì)尾元素的下一個(gè)位置,則元素e入隊(duì)時(shí)的操作為(B )。
A.A[r]=e; r=r+1
B.A[r]=e; r=(r+1)%n
C.A[r]=e;r=(r+1)%(n+1)
D.r=(r+1)%n; A[r]=e;
循環(huán)隊(duì)列,頭指針front,尾指針rear,在數(shù)組中增加一個(gè)元素,尾指針加1,想要達(dá)到循環(huán)的效果,就讓rear+1對(duì)整個(gè)隊(duì)列空間取余即可,將數(shù)再次放入這個(gè)隊(duì)列中。
循環(huán)隊(duì)列存儲(chǔ)在數(shù)組A[0…m]中,則入隊(duì)時(shí)的操作為(D)
A.rear=rear+1
B.rear=(rear+1)mod(m-1)
C.rear=(rear+1)mod m
D.rear=(rear+1)mod(m+1)
rear=(rear+1)%(m+1) //m+1代表有m+1個(gè)空間。。它是0到m的數(shù)組
循環(huán)隊(duì)列是解決假溢出的問(wèn)題,通常把一維數(shù)組看成首尾相接。在循環(huán)意義下的加1運(yùn)算通常用求模運(yùn)算來(lái)實(shí)現(xiàn)。所以入隊(duì)和出隊(duì)時(shí)的操作分別為:rear=(rear+1)%m,front=(front+1)%m。
總結(jié)
- 上一篇: 减肥期间吃土豆会胖吗
- 下一篇: 循环队列 队空、队满 条件