2023年河南工業(yè)大學(xué)實(shí)驗(yàn)報(bào)告實(shí)驗(yàn)一線性結(jié)構(gòu)棧和隊(duì)列的操作_第1頁(yè)
2023年河南工業(yè)大學(xué)實(shí)驗(yàn)報(bào)告實(shí)驗(yàn)一線性結(jié)構(gòu)棧和隊(duì)列的操作_第2頁(yè)
2023年河南工業(yè)大學(xué)實(shí)驗(yàn)報(bào)告實(shí)驗(yàn)一線性結(jié)構(gòu)棧和隊(duì)列的操作_第3頁(yè)
2023年河南工業(yè)大學(xué)實(shí)驗(yàn)報(bào)告實(shí)驗(yàn)一線性結(jié)構(gòu)棧和隊(duì)列的操作_第4頁(yè)
2023年河南工業(yè)大學(xué)實(shí)驗(yàn)報(bào)告實(shí)驗(yàn)一線性結(jié)構(gòu)棧和隊(duì)列的操作_第5頁(yè)
已閱讀5頁(yè),還剩6頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

xxxx大學(xué)實(shí)驗(yàn)報(bào)告課程名稱數(shù)據(jù)結(jié)構(gòu)實(shí)驗(yàn)項(xiàng)目實(shí)驗(yàn)一線性結(jié)構(gòu)(二)——棧和隊(duì)列的操作院系信息學(xué)院計(jì)類系專業(yè)班級(jí)計(jì)類1501姓名學(xué)號(hào)指導(dǎo)老師日期批改日期成績(jī)一實(shí)驗(yàn)?zāi)康?.純熟掌握棧的存儲(chǔ)結(jié)構(gòu)及相關(guān)典型操作。2.純熟掌握隊(duì)列的存儲(chǔ)結(jié)構(gòu)及相關(guān)典型操作。二實(shí)驗(yàn)內(nèi)容及規(guī)定實(shí)驗(yàn)內(nèi)容:1.建立鏈?zhǔn)綏?,?shí)現(xiàn)棧的初始化、進(jìn)棧、出棧等典型操作。2.建立循環(huán)隊(duì)列,實(shí)現(xiàn)隊(duì)列的初始化、進(jìn)隊(duì)、出隊(duì)等典型操作。實(shí)驗(yàn)規(guī)定:1.鍵盤輸入數(shù)據(jù);2.屏幕輸出運(yùn)營(yíng)結(jié)果。3.規(guī)定記錄實(shí)驗(yàn)源代碼及運(yùn)營(yíng)結(jié)果。4.運(yùn)營(yíng)環(huán)境:VC++6.0三實(shí)驗(yàn)過(guò)程及運(yùn)營(yíng)結(jié)果循環(huán)隊(duì)列#include<stdio.h>#include<stdlib.h>#defineOK1#defineERROR0#defineOVERFLOW-2#defineMAXQSIZE100//最大隊(duì)列長(zhǎng)度typedefstruct{int*base;//初始化的動(dòng)態(tài)分派存儲(chǔ)空間intfront;intrear;}SqQueue;//初始化隊(duì)列intInitQueue(SqQueueQ){?Q.base=(int*)malloc(MAXQSIZE*sizeof(int));?if(!Q.base)exit(OVERFLOW);//存儲(chǔ)分派失敗 Q.front=Q.rear=0;?returnOK;}//入隊(duì)操作intEnQueue(SqQueueQ){?inte; if((Q.rear+1)%MAXQSIZE==Q.front)//判斷隊(duì)滿 {? printf("隊(duì)列已滿,不能入隊(duì)\n"); returnERROR; } printf("請(qǐng)輸入入隊(duì)元素:"); scanf("%d",&e); Q.base[Q.rear]=e;//入隊(duì) Q.rear=(Q.rear+1)%MAXQSIZE;//隊(duì)尾指針后移?returnOK;}//出隊(duì)操作intDeQueue(SqQueueQ){ inte;?if(Q.front==Q.rear)//判斷隊(duì)空 {? printf("隊(duì)列已為空\(chéng)n");? returnERROR;?}?e=Q.base[Q.front];//隊(duì)頭出隊(duì)?printf("輸出的出隊(duì)元素為:"); printf("%d\n",e); Q.front=(Q.front+1)%MAXQSIZE;//隊(duì)頭下表后移?returnOK;}//隊(duì)列長(zhǎng)度intQueueLength(SqQueueQ){?return((Q.rear-Q.front+MAXQSIZE)%MAXQSIZE);}//隊(duì)列遍歷intQueueTraverse(SqQueueQ){?printf("遍歷結(jié)果為:");?while(Q.front!=Q.rear)?{ printf("%d",Q.base[Q.front]);? Q.front=(Q.front+1)%MAXQSIZE; } printf("\n");?returnOK;}intmain(){?intn; SqQueueQ; InitQueue(Q);?printf("*輸入1為入隊(duì)*\n"); printf("*輸入2為出隊(duì)*\n"); printf("*輸入3為隊(duì)列長(zhǎng)度*\n"); printf("*輸入4為遍歷*\n"); printf("*輸入0為退出*\n"); printf("*****************\n");?while(scanf("%d",&n),n)?{? switch(n) { case1:EnQueue(Q);break;? case2:DeQueue(Q);break; ?case3:printf("隊(duì)列長(zhǎng)度為%d\n",QueueLength(Q));break; ?case4:QueueTraverse(Q);break;? } } return0;}鏈?zhǔn)綏?include<stdio.h>#include<stdlib.h>#defineOK1#defineERROR0#defineOVERFLOW-2typedefintStatus;typedefintSElemType;typedefstructnode{ SElemTypedata;structnode*next;}SLnode,*SLinkList;typedefstruct{SLinkListtop,base;intlen;}S_LinkList;//棧的初始化StatusCreat_S(S_LinkList&S){?intn; SLinkListp,q;?printf("棧的初始化,請(qǐng)輸入數(shù)據(jù),以-1結(jié)束:\n"); S.top=(SLinkList)malloc(sizeof(SLnode));?S.base=(SLinkList)malloc(sizeof(SLnode));S.top->next=S.base;q=S.base;S.len=0;while(scanf("%d",&n),n?。剑?) {p=(SLinkList)malloc(sizeof(SLnode));p->data=n;S.top->next=p;p->next=q;q=p;S.len++;}q=S.top->next;while(q!=S.base){printf("%d\n",q->data);q=q->next;}?printf("*****\n");returnOK;}//進(jìn)棧Stat(yī)usPush_S(S_LinkList&S){inte;printf("請(qǐng)輸入進(jìn)棧元素:");scanf("%d",&e);SLinkListp,q;q=S.top->next;p=(SLinkList)malloc(sizeof(SLnode));p->data=e;S.top->next=p;p->next=q;q=p;S.len++;returnOK;}//出棧Stat(yī)usPop_S(S_LinkList&S){ SLinkListp;p=S.top->next;if(p!=S.base)printf("出棧元素為%d\n",p->data);returnOK;}intmain(){S_LinkLists;inta; printf("*輸入1為棧的初始化*\n");printf("*輸入2為入棧*\n");printf("*輸入3為出棧*\n");printf("*輸入0為退出*\n");printf("************************\n");?while(scanf("%d",&a),a) {??switch(a)? {??case1:Creat_S(s);break;? case2:Push_S(s);bre

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論