在迴圈佇列裡,由於入隊時尾指標向前追趕頭指標;出隊時頭指標向前追趕尾指標,造成隊空和隊滿時頭尾指標均相等。因此,不能通過條件front==rear來判別佇列是"空"還是"滿"。
解決這個問題的方法至少有兩種:
1. 另設一布林變數以區別佇列的空和滿;
2.另一種方式就是資料結構常用的: 隊滿時:(rear+1)%n==front,n為佇列長度,所以可用的長度為n-1,這個要注意。
1)迴圈佇列的資料結構
typedef structqueue;
2)建立迴圈佇列
queue *creat_queue()
3)銷毀佇列
typedef structqueue;
4)將資料壓入佇列
status en_queue(queue *q,int dat)
q->dat[q->rear]=dat;
q->rear=(q->rear+1)%max_queue_size;
return true;
}
5)將資料彈出佇列
status de_queue(queue *q,int *value)
6)獲取佇列長度
int get_length(queue * q)
靜下心來寫點東西
也許是時候靜下心來寫點東西了,一是為了提高自己的思維能力,經常感覺自己說話語無倫次。而是將自己掌握的一些技術,或者一些讀書看電影的感悟記錄下來,以後可以追憶。覺得以前的自己有點太急功近利了,什麼東西都是有用才學,不相關的根本不願花半點時間去關注,寧可玩玩遊戲睡睡覺。最近越來越覺得自己知識面的狹窄。體...
我也能靜下心來寫東西嗎?
是的,我也能靜下心來寫東西嗎?多久了,有多久沒寫過東西了?從小到大作文一直像惡夢一樣困擾著我,表達能力從來都很爛 突然要寫東西,憋了幾天,先來一篇helloworld吧!還好,只打算寫些技術性和工作相關的東西,不需要怎麼組織語言 我是乙個特別懶散的人,特別懶的人,基本上週六日不出屋,吃飯叫外賣,床上...
這年代,真正能靜下心來寫文章 分享的已經不多了!
大家都知道網上測試資料一大把 但是,你會發現 基本上都是那些資料,copy來copy去 最多換個標題 就成了一篇新的文章 對於測試基礎理論知識 建議各位同學買基本上系統的看看 不管怎樣,基礎理論是必須要了解的 老徐,堅持分享自己的測試觀點 測試經驗 希望能幫助到更多的測試同學 測試路上更順利一點,少...