![試驗 --循環(huán)隊列的基本操作及應用[嚴選材料]_第1頁](http://file2.renrendoc.com/fileroot_temp3/2021-4/21/298cbcc2-1d09-46c0-ba45-70d7a73510ea/298cbcc2-1d09-46c0-ba45-70d7a73510ea1.gif)
![試驗 --循環(huán)隊列的基本操作及應用[嚴選材料]_第2頁](http://file2.renrendoc.com/fileroot_temp3/2021-4/21/298cbcc2-1d09-46c0-ba45-70d7a73510ea/298cbcc2-1d09-46c0-ba45-70d7a73510ea2.gif)
![試驗 --循環(huán)隊列的基本操作及應用[嚴選材料]_第3頁](http://file2.renrendoc.com/fileroot_temp3/2021-4/21/298cbcc2-1d09-46c0-ba45-70d7a73510ea/298cbcc2-1d09-46c0-ba45-70d7a73510ea3.gif)
![試驗 --循環(huán)隊列的基本操作及應用[嚴選材料]_第4頁](http://file2.renrendoc.com/fileroot_temp3/2021-4/21/298cbcc2-1d09-46c0-ba45-70d7a73510ea/298cbcc2-1d09-46c0-ba45-70d7a73510ea4.gif)
版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、數(shù)據(jù)結構實驗報告-試驗三 循環(huán)隊列的基本操作及應用一、 問題描述:熟悉并掌握循環(huán)隊列的相關操作,自己設計程序,實現(xiàn)循環(huán)隊列的構造、清空、銷毀及隊列元素的插入和刪除等相關操作。二、 數(shù)據(jù)結構設計: #define MAXQSIZE 10 /最大隊列長度 struct SqQueue QElemType *base; /初始化動態(tài)分配存儲空間 Int front; / 頭指針,若隊列不空,只想對列頭元素 int rear; /尾指針,若隊列不空,指向隊列尾元素的 /下一個位置 ;三、功能設計: 程序中所涉及到的函數(shù)如下: Status InitQueue(SqQueue &Q) /構造一個空隊列Q
2、 Status DestroyQueue(SqQueue &Q) /銷毀隊列Q,Q不再存在 Status ClearQueue(SqQueue &Q) /將Q清為空隊列 Status QueueEmpty(SqQueue Q) /若隊列Q為空隊列,則 /返回TRUE,否則返回FALSE int QueueLength(SqQueue Q) /返回Q的元素個數(shù),即隊列長度Status GetHead(SqQueue Q,QElemType &e)/若隊列不空,則用e返回Q的對 /頭元素,并返回OK,否則返回ERROR Status EnQueue(SqQueue &Q,QElemType e)/
3、插入元素e為Q的新的隊尾元素Status DeQueue(SqQueue &Q,QElemType &e)/若隊列不空,則刪除Q的隊頭 /元素,用e返回其值,并返回 /OK,否則返回ERRORStatus QueueTraverse(SqQueue Q,void(*vi)(QElemType)/從隊頭到隊尾依次 /對隊列Q中每個元素調(diào)用函數(shù) /vi()。一旦vi失敗,則操作失敗四、源程序:/ c1.h (程序名) #include #include #include / malloc()等 #include / INT_MAX等 #include / EOF(=Z或F6),NULL #incl
4、ude / atoi() #include / eof() #include / floor(),ceil(),abs() #include / exit() #include / cout,cin / 函數(shù)結果狀態(tài)代碼 #define TRUE 1 #define FALSE 0 #define OK 1 #define ERROR 0 #define INFEASIBLE -1 / #define OVERFLOW -2 因為在math.h中已定義OVERFLOW的值為3,故去掉此 /行 typedef int Status; / Status是函數(shù)的類型,其值是函數(shù)結果狀態(tài)代碼,如OK等
5、 typedef int Boolean; / Boolean是布爾類型,其值是TRUE或FALSE/ c3-3.h#define MAXQSIZE 10struct SqQueueQElemType *base;int front;int rear;#includec1.htypedef int QElemType;#includec3-3.hStatus InitQueue(SqQueue &Q) /構造一個空隊列QQ.base=(QElemType *)malloc(MAXQSIZE*sizeof(QElemType);if(!Q.base)/儲存分配失敗exit(OVERFLOW);Q
6、.front=Q.rear=0;return OK;Status DestroyQueue(SqQueue &Q)/銷毀隊列Q,Q不再存在if(Q.base)free(Q.base);Q.base=NULL;Q.front=Q.rear=0;return OK;Status ClearQueue(SqQueue &Q)/將Q清為空隊列Q.front=Q.rear=0;return OK;Status QueueEmpty(SqQueue Q)/若隊列Q為空隊列,則返回TREU,否則返回FALSEif(Q.front=Q.rear)/隊列空的標志return TRUE;elsereturn FA
7、LSE;int QueueLength(SqQueue Q)/Qreturn(Q.rear-Q.front+MAXQSIZE)%MAXQSIZE;Status GetHead(SqQueue Q,QElemType &e)/if(Q.front=Q.rear)/隊列空return ERROR;e=*(Q.base+Q.front);return OK;Status EnQueue(SqQueue &Q,QElemType e)if(Q.rear+1)%MAXQSIZE=Q.front)/隊列滿return ERROR;Q.baseQ.rear=e;Q.rear=(Q.rear+1)%MAXQS
8、IZE;returnOK;Status DeQueue(SqQueue &Q,QElemType &e)if(Q.front=Q.rear)/隊列空return ERROR;e=Q.baseQ.front;Q.front=(Q.front+1)%MAXQSIZE;return OK;Status QueueTraverse(SqQueue Q,void(*vi)(QElemType)int i;i=Q.front;while(i!=Q.rear)vi(*(Q.base+i);i=(i+1)%MAXQSIZE;printf(n);return OK;void visit(QElemType i)
9、coutti;void main()int i=0,a; QElemType d;SqQueue Q;InitQueue(Q);cout初始化隊列后,隊列空否?(1:空 0:否)QueueEmpty(Q)n;coutd;if(d=-1)break;i+;EnQueue(Q,d);while(iMAXQSIZE-1);cout隊列長度為:QueueLength(Q)n;cout現(xiàn)在隊列空否?(1:空 0:否)QueueEmpty(Q)n;for(i=1;i=QueueLength(Q);i+)DeQueue(d);cout刪除的元素為:da;EnQueue(Q,a);cout現(xiàn)在隊列中的元素為:n;QueueTraverse(Q,visit); coutn; GetHead(Q,a);cout現(xiàn)在對頭元素為:an; ClearQueue(); cout清空隊列后,對列空否?
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 貂皮抵押合同范本
- 機械代工合同范本
- 習作:故事新編 教學設計-2023-2024學年四年級下冊語文統(tǒng)編版
- 2025至2030年雙電機卷取式天棚簾項目投資價值分析報告
- 2024-2030年中國軍用服裝行業(yè)發(fā)展監(jiān)測及投資前景預測報告
- 2025至2030年免漆環(huán)保防水板項目投資價值分析報告
- 2025年萘系高濃高效減水劑項目可行性研究報告
- 2025至2030年中國德式鍍鋅喉箍數(shù)據(jù)監(jiān)測研究報告
- 2025年車輛小罩便器項目可行性研究報告
- 2025年超細纖維屏幕擦拭布項目可行性研究報告
- 家校共育之道
- 公司EHS知識競賽題庫附答案
- 社區(qū)健康促進工作計劃
- 《作文中間技巧》課件
- 2025年度移動端SEO服務及用戶體驗優(yōu)化合同
- 中小學《清明節(jié)活動方案》班會課件
- 新蘇教版一年級下冊數(shù)學第1單元第3課時《8、7加幾》作業(yè)
- 特殊教育學校2024-2025學年度第二學期教學工作計劃
- 寧夏銀川一中2025屆高三上學期第五次月考數(shù)學試卷(含答案)
- 【公開課】同一直線上二力的合成+課件+2024-2025學年+人教版(2024)初中物理八年級下冊+
- 人教鄂教版六年級下冊科學全冊知識點
評論
0/150
提交評論