2023年數(shù)據(jù)結(jié)構(gòu)實(shí)驗(yàn)報(bào)告樹與二叉樹_第1頁
2023年數(shù)據(jù)結(jié)構(gòu)實(shí)驗(yàn)報(bào)告樹與二叉樹_第2頁
2023年數(shù)據(jù)結(jié)構(gòu)實(shí)驗(yàn)報(bào)告樹與二叉樹_第3頁
2023年數(shù)據(jù)結(jié)構(gòu)實(shí)驗(yàn)報(bào)告樹與二叉樹_第4頁
免費(fèi)預(yù)覽已結(jié)束,剩余1頁可下載查看

下載本文檔

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

文檔簡介

福建農(nóng)林大學(xué)計(jì)算機(jī)與信息學(xué)院實(shí)驗(yàn)報(bào)告

樹與二叉樹一、實(shí)驗(yàn)?zāi)康暮鸵?guī)定1)進(jìn)一步掌握指針變量、動態(tài)變量的含義。2)掌握二叉樹的結(jié)構(gòu)特性及各種存儲結(jié)構(gòu)的特點(diǎn)及合用范圍。3)掌握用指針類型描述、訪問和解決二叉樹的運(yùn)算。4)熟悉各種存儲結(jié)構(gòu)的特性及如何應(yīng)用樹結(jié)構(gòu)解決具體問題。二、實(shí)驗(yàn)內(nèi)容和原理實(shí)驗(yàn)內(nèi)容:編寫程序?qū)崿F(xiàn)互換二叉樹中所有結(jié)點(diǎn)的左右子樹的算法。實(shí)驗(yàn)原理:【問題描述】建立一棵二叉樹,按層次遍歷該二叉樹,并實(shí)現(xiàn)將二叉樹中所有結(jié)點(diǎn)的左右子樹互換,顯示其結(jié)果?!净疽?guī)定】從鍵盤接受輸入點(diǎn)(按層次遍歷順序),以“#"號結(jié)束,以二叉鏈表作為存儲結(jié)構(gòu),將其二叉樹中所有結(jié)點(diǎn)的左右子樹互換,并將結(jié)果輸出?!緦?shí)現(xiàn)】互換二叉樹中所有結(jié)點(diǎn)的左右子樹的具體環(huán)節(jié)如下:①將根結(jié)點(diǎn)進(jìn)指針棧seqstack;②當(dāng)指針棧不空時(shí),從棧頂取結(jié)點(diǎn),假如此結(jié)點(diǎn)的左右孩子不為空,則把其左右孩子互換,然后再分別將其左右孩子進(jìn)棧;③反復(fù)執(zhí)行環(huán)節(jié)②,直至指針棧為空時(shí)止。三、實(shí)驗(yàn)環(huán)境windowsXP系統(tǒng)visua1C++6.0四、算法描述及實(shí)驗(yàn)環(huán)節(jié)#include”stdio.h"#include〃std1ib.h〃MefineMAXSIZE100typedefchare1emtype;typedefstructbtnode{elemtypedata;structbtnode*1chi1d,*rchild;)bitnode,*bitree;typedefstructnodd{bitreeaddr;intparent;}sequre;bitreeins_node(bitrees,bitreet);voidprint_tree(bitreet);bitreecreat_ordbt();sequreseq[MAXSIZE];voidswap(bitreetree);intn=0;voidmain()(bitreetree;tree=creat_ordbt();swap(tree);printf(〃輸出互換后的二叉樹\n〃);print_tree(tree);)bitreecreat_ordbt(){bitreet,s;elemtypex;t=NULL;printf("請按層次輸入結(jié)點(diǎn)1的值(以#號結(jié)束,0號為空的結(jié)點(diǎn)):〃);scanf(〃%c”,&x);getchar();while(x!='#'){n++;if(x!=,O'){s=(bitree)malloc(sizeof(bitnode));s->data=x;s->lchiId=NULL;s->rchild=NULL;seq[n],addr=s;t=ins_node(s,t);}eIseseq[n].addr=NULL;printf(〃請輸入結(jié)點(diǎn)%d的值(以#號結(jié)束,0號為空的結(jié)點(diǎn)):〃,n+1);x=getchar();getchar();}returnt;}bitreeins_node(bitrees,bitreet){intkk;if(n==l)t=s;else{kk=n/2;if(n%2=0)seq[kk].addr->lchild=s;elseseq[kk].addr->rchild=s;)returnt;)voidprint_tree(bitreet){inti,j,k,nn,start,head,rear;sequreseqq[MAXSIZE];bitreep;if(t==NULL)return;head=0;nn=rear=0;seqq[rear].addr=t;for(;head<=rear&&nn<MAXSIZE;head++){p=seqq[head].addr;if(p->lchi1d=NULL)seqq[++rear].addr=p->lchild;if(p->lchild!=NULL)seqq[++rear].addr=p->rchiId;)for(head=0,j=0,k=1;head<=rear;){Printf(〃\n第%d層數(shù)據(jù):",j);for(i=0,start=head;head<start+k;head++){printf(z,%c”,seqq[head].addr—>data);if(seqq[head].addr->lchild==NULL)i=i-l;if(seqq[head].addr—>rchild==NULL)i=i-l;)k=k*2+i;j++;))voidswap(bitreeroot){inttop;bitreetemp,stack[MAXSIZE];if(root!=NULL)(top=1;stack[top]=root;do{root=stack[top];top=top-1;if((root->1child!=NULL)|I(root->rchild!=NULL))(temp=root->lchild;root->lchild=root->rchiId;root—>rchild=temp;)if(root->lchild!=NULL){top++;stack[top]=root->lchi1d;)if(root->rchi1d!=NULL){top++;stack[top]=root->rchild;)}whi1e(top!=0);))五、調(diào)試過程Configuration:1-Win32DebugConpiling1.cppLinking1.exe-0error(s),0vjarning(s)六、實(shí)驗(yàn)結(jié)果

。號為空的結(jié)點(diǎn)〉:。號為至的組電>:。號為空的結(jié)點(diǎn)〉:。號為空的結(jié)點(diǎn)〉:。號為空的結(jié)點(diǎn)〉:。號力至的綾電):。號為空的結(jié)點(diǎn)〉:。號為空的結(jié)點(diǎn)九。號為空的結(jié)點(diǎn)〉:。號為空的結(jié)點(diǎn)》:。號為空的結(jié)點(diǎn)》:第0層數(shù)據(jù):2Pressanykeytocontinue<以晦練1口'C:\Users\Administrator\Desktop\Debug\l.exe".的的汨1結(jié)結(jié)3結(jié)5結(jié)3結(jié)結(jié),結(jié)>:結(jié)>>:結(jié)>:曩八>:入入>:入>:入>S入入占小人京八入點(diǎn)入小八人4父售Z。號為空的結(jié)點(diǎn)〉:。號為至的組電>:。號為空的結(jié)點(diǎn)〉:。號為空的結(jié)點(diǎn)〉:。號為空的結(jié)點(diǎn)〉:。號力至的綾電):。號為空的結(jié)點(diǎn)〉:。號為空的結(jié)點(diǎn)九。號為空的結(jié)點(diǎn)〉:。號為空的結(jié)點(diǎn)》:。號為空的結(jié)點(diǎn)》:第0層數(shù)據(jù):2Pressanykeytocontinue<以晦練1口'C:\Users\Administrator\Desktop\Debug\l.exe".的的汨1結(jié)結(jié)3結(jié)5結(jié)3結(jié)結(jié),結(jié)>:結(jié)>>:結(jié)>:曩八>:入入>:入>:入>S入入占小人京八入點(diǎn)入小八人4父售Z2占與(24點(diǎn)43鼎2焦加34鼎32皿34束結(jié)2點(diǎn)后<權(quán)值叉的二0向2白值值的的2344束結(jié)號5結(jié)結(jié)一二二一工01^音青的,?的清的情的清前請

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論