靜下心來寫演算法(之迴圈佇列)

2021-06-09 23:49:59 字數 754 閱讀 6263

在迴圈佇列裡,由於入隊時尾指標向前追趕頭指標;出隊時頭指標向前追趕尾指標,造成隊空和隊滿時頭尾指標均相等。因此,不能通過條件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去 最多換個標題 就成了一篇新的文章 對於測試基礎理論知識 建議各位同學買基本上系統的看看 不管怎樣,基礎理論是必須要了解的 老徐,堅持分享自己的測試觀點 測試經驗 希望能幫助到更多的測試同學 測試路上更順利一點,少...