![試驗 --循環(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)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、數(shù)據(jù)結(jié)構(gòu)實驗報告-試驗三 循環(huán)隊列的基本操作及應用一、 問題描述:熟悉并掌握循環(huán)隊列的相關(guān)操作,自己設(shè)計程序,實現(xiàn)循環(huán)隊列的構(gòu)造、清空、銷毀及隊列元素的插入和刪除等相關(guān)操作。二、 數(shù)據(jù)結(jié)構(gòu)設(shè)計: #define MAXQSIZE 10 /最大隊列長度 struct SqQueue QElemType *base; /初始化動態(tài)分配存儲空間 Int front; / 頭指針,若隊列不空,只想對列頭元素 int rear; /尾指針,若隊列不空,指向隊列尾元素的 /下一個位置 ;三、功能設(shè)計: 程序中所涉及到的函數(shù)如下: Status InitQueue(SqQueue &Q) /構(gòu)造一個空隊列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ù)結(jié)果狀態(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ù)結(jié)果狀態(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) /構(gòu)造一個空隊列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)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年簽訂汽車買賣合同需要注意哪些細節(jié)
- 2025農(nóng)業(yè)生產(chǎn)資料租賃合同
- 《2025簡約廣告制作合同范本》
- 2025關(guān)于房屋租賃的合同樣本
- 搬家運輸合同范本
- 建筑模型制作合同
- 廣州市商品房買賣合同
- 采沙場轉(zhuǎn)讓協(xié)議范本
- 商鋪租賃補充協(xié)議范本
- 兄妹房屋財產(chǎn)贈與合同
- 2025年中國工業(yè)X射線檢測設(shè)備行業(yè)市場集中度、企業(yè)競爭格局分析報告-智研咨詢發(fā)布
- 職工維權(quán)知識培訓課件
- 2024銀行春招招聘解析試題及答案
- 2025陜西核工業(yè)工程勘察院有限公司招聘21人筆試參考題庫附帶答案詳解
- 2024中國核工業(yè)集團公司招聘(300人)筆試參考題庫附帶答案詳解
- 第15課《青春之光》課件-2024-2025學年統(tǒng)編版語文七年級下冊
- 初中網(wǎng)絡(luò)安全教育
- 浙江省杭州市金麗衢十二校2024-2025學年高三下學期(3月)第二次聯(lián)考數(shù)學試題 含解析
- DL∕T 5161.8-2018 電氣裝置安裝工程質(zhì)量檢驗及評定規(guī)程 第8部分:盤、柜及二次回路接線施工質(zhì)量檢驗
- (正式版)HGT 22820-2024 化工安全儀表系統(tǒng)工程設(shè)計規(guī)范
- 15D501 建筑物防雷設(shè)施安裝
評論
0/150
提交評論