棧和隊(duì)列基本操作實(shí)驗(yàn)報(bào)告_第1頁(yè)
棧和隊(duì)列基本操作實(shí)驗(yàn)報(bào)告_第2頁(yè)
棧和隊(duì)列基本操作實(shí)驗(yàn)報(bào)告_第3頁(yè)
棧和隊(duì)列基本操作實(shí)驗(yàn)報(bào)告_第4頁(yè)
棧和隊(duì)列基本操作實(shí)驗(yàn)報(bào)告_第5頁(yè)
已閱讀5頁(yè),還剩5頁(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)介

【試驗(yàn)?zāi)康摹慷褩:完?duì)列根本操作的編程實(shí)現(xiàn)要求:堆棧和隊(duì)列根本操作的編程實(shí)現(xiàn)〔2學(xué)時(shí),驗(yàn)證型〕,把握堆棧和隊(duì)列的建立、進(jìn)棧、出棧、進(jìn)隊(duì)、出隊(duì)等根本操作的編程實(shí)現(xiàn),存儲(chǔ)構(gòu)造可以在挨次構(gòu)造或鏈接構(gòu)造中任選,也可以全部實(shí)現(xiàn)。也鼓舞學(xué)生利用根本操作進(jìn)展一些應(yīng)用的程序設(shè)計(jì)。【試驗(yàn)性質(zhì)】驗(yàn)證性試驗(yàn)〔學(xué)時(shí)數(shù):2H〕【試驗(yàn)內(nèi)容】?jī)?nèi)容:把堆棧和隊(duì)列的挨次存儲(chǔ)〔環(huán)隊(duì)〕和鏈表存儲(chǔ)的數(shù)據(jù)進(jìn)隊(duì)、出隊(duì)等運(yùn)算其中一局部進(jìn)展程序?qū)崿F(xiàn)??梢栽囼?yàn)一的結(jié)果自己實(shí)現(xiàn)數(shù)據(jù)輸入、數(shù)據(jù)顯示的函數(shù)。利用根本功能實(shí)現(xiàn)各類(lèi)應(yīng)用,如括號(hào)匹配、回文推斷、事物排隊(duì)模擬、數(shù)據(jù)逆序生成、多進(jìn)制轉(zhuǎn)換等?!驹囼?yàn)分析、說(shuō)明過(guò)程】分析:進(jìn)棧操作先創(chuàng)立一個(gè)以xp,其data域值為x將結(jié)點(diǎn)p的指針域指向原棧頂〔執(zhí)行語(yǔ)句p->next=。將棧頂S指向結(jié)點(diǎn)p〔執(zhí)行語(yǔ)句S=。S出棧操作先將結(jié)點(diǎn)棧頂S*x,則刪除操作步驟如下:結(jié)點(diǎn)p指針域指向原棧頂〔執(zhí)行語(yǔ)句p=。S〔執(zhí)行語(yǔ)句S=S->next〕釋放p結(jié)點(diǎn)空間〔執(zhí)行語(yǔ)句free(p?!舅伎紗?wèn)題】棧的挨次存儲(chǔ)和鏈表存儲(chǔ)的差異?答:棧的挨次存儲(chǔ)有‘后進(jìn)先出’的特點(diǎn),最終進(jìn)棧的元素必需最先出來(lái),進(jìn)出棧是有序的,在對(duì)編某些需要按挨次操作的程序有很大的作用。鏈表存儲(chǔ):通過(guò)鏈表的存儲(chǔ)可以實(shí)現(xiàn)鏈表中任意位置的插入元素,刪除任意元素,可以實(shí)現(xiàn)無(wú)序進(jìn)出。還會(huì)有數(shù)據(jù)移動(dòng)嗎?為什么?答:棧的挨次存儲(chǔ)不會(huì)有數(shù)據(jù)移動(dòng),移動(dòng)的只是指向該數(shù)據(jù)地址的指針。棧的主要特點(diǎn)是什么?隊(duì)列呢?答:棧擁有‘后進(jìn)先出’的特點(diǎn);隊(duì)列擁有‘先進(jìn)先出’的特點(diǎn)。棧的主要功能是什么?隊(duì)列呢?答:棧作為數(shù)據(jù)構(gòu)造,其主要的用途是保存一批數(shù)據(jù)的逆序信息,從而產(chǎn)生答:棧作為數(shù)據(jù)構(gòu)造,其主要的用途是保存一批數(shù)據(jù)的逆序信息,從而產(chǎn)生逆序數(shù)據(jù)。隊(duì)列也是一種數(shù)據(jù)構(gòu)造,其主要的用途按挨次保存一批數(shù)據(jù),并且有序的隊(duì)數(shù)據(jù)進(jìn)展處理。5.答:為了解決“假溢出”的問(wèn)題,把挨次構(gòu)造的頭尾進(jìn)展相連,造出了一個(gè)所謂的“環(huán)狀隊(duì)列”。等運(yùn)算中一局部程序進(jìn)展完善,程序的簡(jiǎn)單度也是逐步增加,這讓我們對(duì)棧和隊(duì)列的生疏也逐步加深。的了解,把握了棧“后進(jìn)先出”和隊(duì)列“先進(jìn)先出”的特點(diǎn),學(xué)會(huì)了棧和隊(duì)列的一些根本應(yīng)用實(shí)例,試驗(yàn)的目的就是學(xué)會(huì)用棧和隊(duì)列這兩種數(shù)據(jù)構(gòu)造進(jìn)展編程,進(jìn)展一些實(shí)際問(wèn)題的處理,經(jīng)過(guò)本次試驗(yàn),我對(duì)學(xué)習(xí)也有了一些的感悟,學(xué)了的學(xué)問(wèn)要時(shí)常復(fù)習(xí),常常穩(wěn)固,不懂的學(xué)問(wèn)要準(zhǔn)時(shí)向教師或者同學(xué)請(qǐng)教,爭(zhēng)取把這門(mén)課程學(xué)的更好!【附錄-試驗(yàn)代碼】#include<stdio.h>#include<stdlib.h>#include<conio.h>typedefintelemtype;typedefstructnode //隊(duì)列結(jié)點(diǎn)類(lèi)型定義{ elemtypedata; //隊(duì)列的數(shù)據(jù)元素類(lèi)型structnode*next; //指向后繼結(jié)點(diǎn)的指針}NODE;typedefstruct{ //定義鏈隊(duì)NODE*front,*rear;//定義鏈隊(duì)隊(duì)頭和隊(duì)尾指針}LINKQUEUE;voidinitqueue(LINKQUEUE*QL)//隊(duì)列的初始化{QL->front=(NODE*)malloc(sizeof(NODE));//隊(duì)列為帶頭結(jié)點(diǎn)的鏈隊(duì)列QL->front->next=NULL;QL->rear=QL->front;}LINKQUEUE*pushqueue(LINKQUEUE*QL,elemtypex){//將元素xQLQLQL->rear->next=(NODE*)malloc(sizeof(NODE));QL->rear->next->data=x;QL->rear=QL->rear->next;QL->rear->next=NULL;returnQL;}elemtypepopqueue(LINKQUEUE*QL){//假設(shè)鏈隊(duì)列不為空,則刪除隊(duì)頭元素,返回其元素值NODE*newnode;newnode=QL->front->next;if(newnode==NULL)return0;newnode=QL->front;QL->front=QL->front->next;free(newnode);return(QL->front->data);}voidprintqueue(LINKQUEUE*QL)//隊(duì)列的顯示{NODE*p;p=QL->front->next;if(p==NULL)printf(“隊(duì)列空!“);while(p!=NULL){if(p->next==NULL)printf(“%d“,p->data);elseprintf(“%d<--“,p->data);p=p->next;}printf(“\n“);}voidmain{LINKQUEUE*p;intchoice,elemdata,x=0;p=(LINKQUEUE*)malloc(sizeof(LINKQUEUE));initqueue(p);while(1){printf(“ 歡送使用隊(duì)列操作小程序:\n“);printf(“\t1、元素入隊(duì)\n“);printf(“\t2、元素出隊(duì)\n“);printf(“\t3、顯示隊(duì)列\(zhòng)n“);printf(“\t4、清屏幕\n“);printf(“\t5、退出程序\n“);printf(“ 你的操作:“);scanf(“%d“,&choice);switch(choice){case1:printf(“請(qǐng)輸入進(jìn)隊(duì)元素:“);scanf(“%d“,&elemdata);p=pushqueue(p,elemdata);printf(“隊(duì)列中的元素為:\n“);printqueue(p);system(“pause“);break;case2:x=popqueue(p);if(x!=0)!\n“,x);printf(“隊(duì)列中的元素為:\n“);printqueue(p);system(“pause“)

溫馨提示

  • 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)論