版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、2016數(shù)據(jù)結(jié)構(gòu)Data structure講授:司蕾3.4 循環(huán)隊列及其操作常州信息職業(yè)技術(shù)學(xué)院0203循環(huán)隊列-描述3.41循環(huán)隊列(Cirular Queue) 把向量空間的元素位置首尾相接的順序隊列稱為循環(huán)隊列?!臼纠?-4】設(shè)隊列的容量QueueSize=8,元素a1,a2,a3,a4,a5,a6,a7依次入隊,然后a1,a2,a3出隊的循環(huán)隊列如圖。07654321frontrear03循環(huán)隊列-描述3.41循環(huán)隊列(Cirular Queue) 把向量空間的元素位置首尾相接的順序隊列稱為循環(huán)隊列?!臼纠?-4】設(shè)隊列的容量QueueSize=8,元素a1,a2,a3,a4,a5,
2、a6,a7依次入隊,然后a1,a2,a3出隊的循環(huán)隊列如圖。07654321a1frontrear03循環(huán)隊列-描述3.41循環(huán)隊列(Cirular Queue) 把向量空間的元素位置首尾相接的順序隊列稱為循環(huán)隊列?!臼纠?-4】設(shè)隊列的容量QueueSize=8,元素a1,a2,a3,a4,a5,a6,a7依次入隊,然后a1,a2,a3出隊的循環(huán)隊列如圖。07654321a1a2frontrear03循環(huán)隊列-描述3.41循環(huán)隊列(Cirular Queue) 把向量空間的元素位置首尾相接的順序隊列稱為循環(huán)隊列。07654321a1a3a2frontrear【示例3-4】設(shè)隊列的容量Queu
3、eSize=8,元素a1,a2,a3,a4,a5,a6,a7依次入隊,然后a1,a2,a3出隊的循環(huán)隊列如圖。03循環(huán)隊列-描述3.41循環(huán)隊列(Cirular Queue) 把向量空間的元素位置首尾相接的順序隊列稱為循環(huán)隊列。07654321a1a4a3a2frontrear【示例3-4】設(shè)隊列的容量QueueSize=8,元素a1,a2,a3,a4,a5,a6,a7依次入隊,然后a1,a2,a3出隊的循環(huán)隊列如圖。03循環(huán)隊列-描述3.41循環(huán)隊列(Cirular Queue) 把向量空間的元素位置首尾相接的順序隊列稱為循環(huán)隊列。07654321a1a5a4a3a2frontrear【示例
4、3-4】設(shè)隊列的容量QueueSize=8,元素a1,a2,a3,a4,a5,a6,a7依次入隊,然后a1,a2,a3出隊的循環(huán)隊列如圖。03循環(huán)隊列-描述3.41循環(huán)隊列(Cirular Queue) 把向量空間的元素位置首尾相接的順序隊列稱為循環(huán)隊列。07654321a1a6a5a4a3a2frontrear【示例3-4】設(shè)隊列的容量QueueSize=8,元素a1,a2,a3,a4,a5,a6,a7依次入隊,然后a1,a2,a3出隊的循環(huán)隊列如圖。03循環(huán)隊列-描述3.41循環(huán)隊列(Cirular Queue) 把向量空間的元素位置首尾相接的順序隊列稱為循環(huán)隊列。07654321a1a7
5、a6a5a4a3a2frontrear【示例3-4】設(shè)隊列的容量QueueSize=8,元素a1,a2,a3,a4,a5,a6,a7依次入隊,然后a1,a2,a3出隊的循環(huán)隊列如圖。03循環(huán)隊列-描述3.41循環(huán)隊列(Cirular Queue) 把向量空間的元素位置首尾相接的順序隊列稱為循環(huán)隊列。07654321a7a6a5a4a3a2frontrear【示例3-4】設(shè)隊列的容量QueueSize=8,元素a1,a2,a3,a4,a5,a6,a7依次入隊,然后a1,a2,a3出隊的循環(huán)隊列如圖。03循環(huán)隊列-描述3.41循環(huán)隊列(Cirular Queue) 把向量空間的元素位置首尾相接的順
6、序隊列稱為循環(huán)隊列。07654321a7a6a5a4a3frontrear【示例3-4】設(shè)隊列的容量QueueSize=8,元素a1,a2,a3,a4,a5,a6,a7依次入隊,然后a1,a2,a3出隊的循環(huán)隊列如圖。03循環(huán)隊列-描述3.41循環(huán)隊列(Cirular Queue) 把向量空間的元素位置首尾相接的順序隊列稱為循環(huán)隊列。07654321a7a6a5a4frontrear【示例3-4】設(shè)隊列的容量QueueSize=8,元素a1,a2,a3,a4,a5,a6,a7依次入隊,然后a1,a2,a3出隊的循環(huán)隊列如圖。03循環(huán)隊列-描述3.41循環(huán)隊列(Cirular Queue) 把向
7、量空間的元素位置首尾相接的順序隊列稱為循環(huán)隊列。07654321a8a7a6a5a4思考:在示例基礎(chǔ)上再次入隊a8frontreari=(i+1)%QueueSize【示例3-4】設(shè)隊列的容量QueueSize=8,元素a1,a2,a3,a4,a5,a6,a7依次入隊,然后a1,a2,a3出隊的循環(huán)隊列如圖。03循環(huán)隊列-描述3.41循環(huán)隊列(Cirular Queue) 把向量空間的元素位置首尾相接的順序隊列稱為循環(huán)隊列。思考:在示例基礎(chǔ)上再次入隊a8思考: 如何表示隊列滿count計數(shù),入隊一次加1,出隊一次減1隊列滿:count=QueueSizei=(i+1)%QueueSize076
8、54321a8a7a6a5a4rearfronta3a2a1【示例3-4】設(shè)隊列的容量QueueSize=8,元素a1,a2,a3,a4,a5,a6,a7依次入隊,然后a1,a2,a3出隊的循環(huán)隊列如圖。04循環(huán)隊列-描述3.42、循環(huán)隊列的描述#define QueueSize 100 /定義隊列最大容量typedef char DataType; /定義隊列元素類型typedef struct cirqueue DataType dataQueueSize;/隊列元素定義 int front;/隊頭指針定義 int rear;/隊尾指針定義 int count;/計數(shù)器定義CirQueue
9、; CirQueue *Q; /定義循環(huán)隊列Q05循環(huán)隊列-描述3.43、說明:(1)使用一個計數(shù)器count記錄隊列中元素的總數(shù),計數(shù)器可表示為Q- count,當(dāng)Q-count =0時表示隊列空;當(dāng)Q-count =QueueSize時表示隊列滿。(2)設(shè)Q是CirQueue類型的指針變量,則Q是指向循環(huán)隊列的指針,隊頭指針、隊尾指可分別表示為Q-front、Q- rear。(3)隊頭元素可表示為Q-dataQ-front,隊尾元素可表示為Q-dataQ- rear。三、鏈表的插入06循環(huán)隊列-入隊3.41、入隊2、算法思路: 判斷隊列Q是否隊滿,當(dāng)隊列滿時,提示 “隊滿”返回0if(Qu
10、eueFull(Q) puts(隊滿); return 0;07654321a8a7a6a5a4rearfronta3a2a1三、鏈表的插入07循環(huán)隊列-入隊3.41、入隊2、算法思路: 判斷隊列Q是否隊滿,當(dāng)隊列滿時,提示 “隊滿”返回0當(dāng)隊列不滿時,先將計數(shù)器加1,再將元素入隊,最后將隊尾指針循環(huán)意義下加1。07654321a1a4a3a2frontrearQ-count +;Q-dataQ-rear=x;Q-rear=(Q-rear+1)%QueueSize;xrear08循環(huán)隊列-入隊3.43、具體算法:int EnQueue(CirQueue *Q,DataType x)/入隊if(
11、QueueFull(Q) puts(隊滿); return 0;Q-count +;/隊列元素個數(shù)加1Q-dataQ-rear=x;/新元素插入隊尾Q-rear=(Q-rear+1)%QueueSize;/循環(huán)意義下將尾指針加1return 1;將隊列Q和入隊元素x作為參數(shù)。將元素x進(jìn)入隊列Q,入隊操作成功時,返回1,否則返回0。三、鏈表的插入09循環(huán)隊列-出隊3.42、算法思路: 判斷隊列Q是否隊空,當(dāng)隊列空時,提示 “隊空”返回0 if(QueueEmpty(Q) puts(“隊空); return 0;1、出隊07654321frontrear三、鏈表的插入10循環(huán)隊列-出隊3.42、算法思路: 判斷隊列Q是否隊空,當(dāng)隊列空時,提示 “隊空”返回0當(dāng)隊不空時,先將隊頂元素的值存入指針x指向的變量,再將計數(shù)器減1、隊頭指針循環(huán)意義下加1。1、出隊07654321a1a4a3a2frontreara5*x=Q-dataQ-front; Q-count-; Q-front=(Q-front+1)%QueueSize;front11循環(huán)隊列-出隊3.4將隊列Q和指針x作為參數(shù)。保存隊頭元素的數(shù)據(jù),隊頭指針后移。出隊操作成功時,返回1,否則返回0。3、具體
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年大學(xué)大四(護(hù)理學(xué))婦產(chǎn)科護(hù)理學(xué)基礎(chǔ)測試題及答案
- 2025年中職汽車美容(汽車美容技術(shù))試題及答案
- 中學(xué)教師安全培訓(xùn)課件
- 運(yùn)行休息室管理制度
- 會議資料保密與安全管理制度
- 工資分配培訓(xùn)
- 2026年施工升降機(jī)安裝維修工防墜安全器校驗測試含答案
- 2026年北京保安證試題及詳細(xì)答案解析
- 2026年理財規(guī)劃基礎(chǔ)認(rèn)證考題含答案
- 2026年環(huán)境偏見認(rèn)知心理測試題及答案
- 2026屆四川省成都市青羊區(qū)樹德實驗中學(xué)物理九年級第一學(xué)期期末考試試題含解析
- 高溫熔融金屬冶煉安全知識培訓(xùn)課
- 林業(yè)種苗培育與管理技術(shù)規(guī)范
- 遼寧中考數(shù)學(xué)三年(2023-2025)真題分類匯編:專題06 幾何與二次函數(shù)壓軸題 解析版
- 修復(fù)征信服務(wù)合同范本
- 2025年及未來5年中國鈉基膨潤土市場深度評估及行業(yè)投資前景咨詢報告
- 康復(fù)醫(yī)學(xué)科進(jìn)修匯報
- 患者身份識別管理標(biāo)準(zhǔn)WST840-2025學(xué)習(xí)解讀課件
- 東航客服面試題目及答案
- 醫(yī)院醫(yī)療質(zhì)量分析會
- 酒吧廚房小吃承包協(xié)議書
評論
0/150
提交評論