版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、數(shù)據(jù)結(jié)構(gòu)實(shí)驗(yàn)報(bào)告-試驗(yàn)三 循環(huán)隊(duì)列的基本操作及應(yīng)用一、 問題描述:熟悉并掌握循環(huán)隊(duì)列的相關(guān)操作,自己設(shè)計(jì)程序,實(shí)現(xiàn)循環(huán)隊(duì)列的構(gòu)造、清空、銷毀及隊(duì)列元素的插入和刪除等相關(guān)操作。二、 數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì): #define MAXQSIZE 10 /最大隊(duì)列長度 struct SqQueue QElemType *base; /初始化動態(tài)分配存儲空間 Int front; / 頭指針,若隊(duì)列不空,只想對列頭元素 int rear; /尾指針,若隊(duì)列不空,指向隊(duì)列尾元素的 /下一個(gè)位置 ;三、功能設(shè)計(jì): 程序中所涉及到的函數(shù)如下: Status InitQueue(SqQueue &Q) /構(gòu)造一個(gè)空隊(duì)列Q
2、 Status DestroyQueue(SqQueue &Q) /銷毀隊(duì)列Q,Q不再存在 Status ClearQueue(SqQueue &Q) /將Q清為空隊(duì)列 Status QueueEmpty(SqQueue Q) /若隊(duì)列Q為空隊(duì)列,則 /返回TRUE,否則返回FALSE int QueueLength(SqQueue Q) /返回Q的元素個(gè)數(shù),即隊(duì)列長度Status GetHead(SqQueue Q,QElemType &e)/若隊(duì)列不空,則用e返回Q的對 /頭元素,并返回OK,否則返回ERROR Status EnQueue(SqQueue &Q,QElemType e)/
3、插入元素e為Q的新的隊(duì)尾元素Status DeQueue(SqQueue &Q,QElemType &e)/若隊(duì)列不空,則刪除Q的隊(duì)頭 /元素,用e返回其值,并返回 /OK,否則返回ERRORStatus QueueTraverse(SqQueue Q,void(*vi)(QElemType)/從隊(duì)頭到隊(duì)尾依次 /對隊(duì)列Q中每個(gè)元素調(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 因?yàn)樵趍ath.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)造一個(gè)空隊(duì)列QQ.base=(QElemType *)malloc(MAXQSIZE*sizeof(QElemType);if(!Q.base)/儲存分配失敗exit(OVERFLOW);Q
6、.front=Q.rear=0;return OK;Status DestroyQueue(SqQueue &Q)/銷毀隊(duì)列Q,Q不再存在if(Q.base)free(Q.base);Q.base=NULL;Q.front=Q.rear=0;return OK;Status ClearQueue(SqQueue &Q)/將Q清為空隊(duì)列Q.front=Q.rear=0;return OK;Status QueueEmpty(SqQueue Q)/若隊(duì)列Q為空隊(duì)列,則返回TREU,否則返回FALSEif(Q.front=Q.rear)/隊(duì)列空的標(biāo)志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)/隊(duì)列空return ERROR;e=*(Q.base+Q.front);return OK;Status EnQueue(SqQueue &Q,QElemType e)if(Q.rear+1)%MAXQSIZE=Q.front)/隊(duì)列滿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)/隊(duì)列空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初始化隊(duì)列后,隊(duì)列空否?(1:空 0:否)QueueEmpty(Q)n;coutd;if(d=-1)break;i+;EnQueue(Q,d);while(iMAXQSIZE-1);cout隊(duì)列長度為:QueueLength(Q)n;cout現(xiàn)在隊(duì)列空否?(1:空 0:否)QueueEmpty(Q)n;for(i=1;i=QueueLength(Q);i+)DeQueue(d);cout刪除的元素為:da;EnQueue(Q,a);cout現(xiàn)在隊(duì)列中的元素為:n;QueueTraverse(Q,visit); coutn; GetHead(Q,a);cout現(xiàn)在對頭元素為:an; ClearQueue(); cout清空隊(duì)列后,對列空否?
溫馨提示
- 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年廣西公務(wù)員申論考試真題及答案-A卷
- 2025年滬教版高二數(shù)學(xué)上冊月考試卷
- 2025年人教新起點(diǎn)選修1歷史上冊月考試卷含答案
- 2025年粵教新版九年級地理上冊月考試卷
- 2025年人教五四新版七年級生物上冊階段測試試卷
- 2025年蘇人新版七年級生物上冊月考試卷含答案
- 2025年粵人版選擇性必修1語文上冊階段測試試卷
- 2025年北師大版八年級生物下冊月考試卷含答案
- 二零二五年度木門及木飾面定制化生產(chǎn)與安裝服務(wù)合同4篇
- 二零二五版親子閱讀活動組織服務(wù)合同4篇
- 江蘇省蘇州市2024-2025學(xué)年高三上學(xué)期1月期末生物試題(有答案)
- 銷售與銷售目標(biāo)管理制度
- 人教版(2025新版)七年級下冊英語:寒假課內(nèi)預(yù)習(xí)重點(diǎn)知識默寫練習(xí)
- 2024年食品行業(yè)員工勞動合同標(biāo)準(zhǔn)文本
- 2025年第一次工地開工會議主要議程開工大吉模板
- 全屋整裝售后保修合同模板
- 高中生物學(xué)科學(xué)推理能力測試
- GB/T 44423-2024近紅外腦功能康復(fù)評估設(shè)備通用要求
- 2024-2030年中國減肥行業(yè)市場發(fā)展分析及發(fā)展趨勢與投資研究報(bào)告
- 運(yùn)動技能學(xué)習(xí)
- 2024年中考英語專項(xiàng)復(fù)習(xí):傳統(tǒng)文化的魅力(閱讀理解+完型填空+書面表達(dá))(含答案)
評論
0/150
提交評論