-
for?(int?i?=?0;?i?<?m_iQueueLen;?i++) { cout?<<?m_pQueue[(m_iHead?+?i)?%?m_iQueueCapacity]?<<?endl;???//?//這里的i是要與總?cè)萘咳∮?} 或者: for?(int?i?=?m_iHead?;?i?<?m_iQueueLen+m_iHead?;?i++) { cout?<<?m_pQueue[?i?%?m_iQueueCapacity]?<<?endl;???//這里的i是要與總?cè)萘咳∮?}
這里遍歷是有問題的,循環(huán)應(yīng)該這么寫。? ?這里用取余符號%來解決下標(biāo)超出范圍的問題,很機(jī)智
查看全部 -
數(shù)據(jù)結(jié)構(gòu)指相互之間存在一種或多種[特定關(guān)系]的數(shù)據(jù)元素的[集合]。
查看全部 -
數(shù)據(jù)結(jié)構(gòu)指相互之間存在一種或多種[特定關(guān)系]的數(shù)據(jù)元素的[集合]。查看全部
-
對復(fù)雜的數(shù)據(jù)類型做環(huán)形隊(duì)列:
未做筆記,后期補(bǔ)
查看全部 -
之前的遍歷函數(shù)有點(diǎn)問題,修改:
查看全部 -
環(huán)形隊(duì)列三個函數(shù):新元素入隊(duì)、首元素出隊(duì)、遍歷隊(duì)列實(shí)現(xiàn):
新元素入隊(duì):先判斷是否未滿。?
上圖錯誤:
未加m_iQueueLen++;
m_iTail =?m_iTail % m_iQueueCapacity;
出隊(duì):出隊(duì)的是隊(duì)頭指向的元素。出隊(duì)先判斷隊(duì)是否為空。
下圖錯誤:
未加m_iQueueLen—;
m_iHead=?m_iHead % m_iQueueCapacity;
遍歷,注意對i取余的原理。
查看全部 -
編寫cpp文件:
隊(duì)尾的位置就是插入數(shù)據(jù)的位置,第一個插入的數(shù)據(jù)放在queue[0],開始隊(duì)首和隊(duì)尾都是queue[0],插入一個數(shù)據(jù)后,隊(duì)尾的位置變?yōu)閝ueue[1]。
取第一個數(shù)從queue[0]開始取,后對頭指向queue[1].
查看全部 -
隊(duì)列:先入先出FIFO
普通隊(duì)列、環(huán)形隊(duì)列
隊(duì)列的用途:自動排號機(jī)
查看全部 -
demo.cpp
查看全部 -
Myqueue中實(shí)例化一個custome數(shù)組,需要一個默認(rèn)的構(gòu)造函數(shù)。不需要傳參的。所以就在customer.h中加上默認(rèn)的兩個參數(shù)值
查看全部 -
對于myQueue.cpp只需修改 遍歷函數(shù)
查看全部 -
myQueue.h需要做的改動(部分)
查看全部 -
Customer.cpp
查看全部 -
隊(duì)列元素是一個對象
查看全部 -
取余的應(yīng)是對 capacity
查看全部
舉報