




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
笫后擊7本次摩數(shù)據結構實驗報告院系名稱:信息學院專業(yè)班級:計科1001班姓名:董華偉學號:--需求分析:掌握二叉樹的存儲結構以及其各種操作,涉及二叉樹的建立,二叉樹的前序遍歷,中序遍歷和后序遍歷。二,概要設計存儲結構的定義如下:typedefstructBinTNode(?chardata;?structBinTNode*lch,*rch;}BinTNode,*BinTree功能函數(shù):voidCreatBinTree(BinTree&t)功能:創(chuàng)建二又樹voidPreOrderTraverse(BinTreet)功能:前序遍歷二叉樹voidTnOerderTraverse(BinTreet)功能:中序遍歷二叉樹ivoidLevelOrder(BinTreet)功能:層次遍歷二叉樹intBinTreeLeaf(BinTNode*t)功能:計算二叉樹的葉子個數(shù)三、源程序#include<stdio.h>#include<stdlib.h>intf=0;typedefstructBinTNode(chardata;ostructBinTNode*lch,*rch;}BinTNode,*BinTree;//創(chuàng)建二叉樹voidCreatBinTree(BinTree&t)(charch;。fflush(stdin);printf(〃請輸入二叉樹元素,用*表達空節(jié)點\n〃);oscanf(,z%c",&ch);4f(ch==,*')>?t=NULL;ae1sea{■if(!(t=(BinTNode*)malloc(sizeof(BinTNode))))aexit(-2);。t—>data=ch;CreatBinTree(t->lch);~CreatBinTree(t->rch);}//前序遍歷二叉樹voidPreOrderTraverse(BinTreet)(if(t)(printfC%c",t->data);。PreOrderTraverse(t->lch);。PreOrderTraverse(t->rch);))〃中序遍歷二叉樹voidIn0erderTraverse(BinTreet)(BinTrees[100];inttop=0;inta=l;Toowhile(t)。(Os[top]=t;=top++;t=t->lch;00(top-0)ooa=0;e1se{~<>top—;at=s[top];aprintf(,/%c,/,t—>data);。t=t->rch;}}while(a);)//層次遍歷二叉樹voidLevelOrder(BinTreet)(BinTreequeue[100];intfront=-1;ointrear=0:aBinTreep=t;queue[rear]=p;hile(front!=rear)(p=queue[++front];?>printf(,z%c\n”,p—>data);?if(p->lch)aqueue[++rear]=p->lch;。if(p—>rch)queue[++rear]=p->rch;//計算二叉樹的葉子個數(shù)intBinTrccLcaf(BinTNodc*t)(oif(t)(。if(t->lch==NULL&&t->rch==NULL)0f=+l;a}?eIse6{BinTreeLeaf(t—>lch);?>oBinTreeLeaf(t->rch);。})?returnf;)voidmain()(*structBinTNode*t=NULL;。printf(〃\n〃);printf(z,0.退出\n〃);。printf(,z1.創(chuàng)建二叉樹\n〃);。printf("2.先序遍歷\n");printfC3.中序遍歷\n");printf(〃4.層次遍歷\n〃);oprintf(n5.計算葉子個數(shù)\n〃);oprintf(〃\n");oprintf("pleaseselectthenum:〃);?scanf&k);。switch(k)(case1:aCreatBinTree(t);break;~case2:。?PreOrderTraverse(t);。break;case3:~oTnOerderTraverse(t);o?break;case4:~Leve1Order(t);
oocase5:aBinTreeLeaf(t);o。printf(〃該二叉樹葉子節(jié)點個數(shù)為:%d\n〃,f);abreak;case0:oobreak;odefault:。printf('*Error.Pieaseinputagain.\n〃);abreak;。}。}whi1e(k!=0);)四.實驗結果4MJ杈叉歷歷歷子-出建算
退創(chuàng)先中層計012345pleaseselectthenun:1輸入二叉樹元素,輸入二叉樹元素,谿入二叉樹元素,輸入二叉樹元素,輸入二叉樹元素,輸入二叉樹元素,輸入二叉樹元素,用V表示空節(jié)點用”表示空節(jié)點用”表示空節(jié)點用M表示空節(jié)點用M表示空節(jié)點用井表示空節(jié)點用pleaseselectthe
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 機器操作安全規(guī)程的考試試題及答案
- 2024年電氣工程師考試時事政策與知識整合試題及答案
- 機械工程師資格證書考試概念梳理試題及答案
- 2024年商務禮儀師考試的品牌傳播技巧試題及答案
- 商務禮儀師考試能力檢測機制與試題答案
- 從金融到其他領域區(qū)塊鏈的跨行業(yè)應用
- 家長安全教育專題
- 離婚后換姓氏協(xié)議書范本
- 礦山打孔外包合同協(xié)議
- 卵巢惡性腫瘤術后護理查房
- 2023年標準化工程師考試真題模擬匯編(共402題)
- 中建懸挑卸料平臺專項施工方案
- 中建總工程師的職業(yè)基本素養(yǎng)
- 【房地產項目成本控制問題研究文獻綜述2300字】
- 中等職業(yè)學校語文課程標準(2020年版)(word精排版)
- 《一般將來時》教學設計
- 小學數(shù)學-青島版五四制五年級數(shù)學上冊第七單元《比的意義》教學設計學情分析教材分析課后反思
- 單面彩鋼酚醛復合風管施工工法
- 浙江省溫州環(huán)大羅山聯(lián)盟2022-2023學年高一下學期4月期中聯(lián)考物理試題
- 托管專項施工方案
- 風電項目開發(fā)流程教學課件
評論
0/150
提交評論