數(shù)據(jù)結(jié)構(gòu)樹完整程序(一定能運(yùn)行)_第1頁
數(shù)據(jù)結(jié)構(gòu)樹完整程序(一定能運(yùn)行)_第2頁
數(shù)據(jù)結(jié)構(gòu)樹完整程序(一定能運(yùn)行)_第3頁
全文預(yù)覽已結(jié)束

下載本文檔

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

文檔簡(jiǎn)介

本文格式為Word版,下載可任意編輯——數(shù)據(jù)結(jié)構(gòu)樹完整程序(一定能運(yùn)行)二叉樹順序結(jié)構(gòu)實(shí)現(xiàn)

#include\#include\#include\#include\#include\#defineOK1#defineERROR0#defineTRUE1#defineFALSE0

#defineMAXSIZE100/*存儲(chǔ)空間初始分派量*/#defineMAX_TREE_SIZE100/*二叉樹的最大結(jié)點(diǎn)數(shù)*/

typedefintStatus;/*Status是函數(shù)的類型,其值是函數(shù)結(jié)果狀態(tài)代碼,如OK等*/typedefintTElemType;/*樹結(jié)點(diǎn)的數(shù)據(jù)類型,目前暫定為整型*/

typedefTElemTypeSqBiTree[MAX_TREE_SIZE];/*0號(hào)單元存儲(chǔ)根結(jié)點(diǎn)*/typedefstruct{

intlevel,order;/*結(jié)點(diǎn)的層,本層序號(hào)(按滿二叉樹計(jì)算)*/}Position;

TElemTypeNil=0;/*設(shè)整型以0為空*/Statusvisit(TElemTypec){

printf(\returnOK;}

/*構(gòu)造空二叉樹T。由于T是固定數(shù)組,不會(huì)改變,故不需要

for(i=0;i=0;i--)/*找到最終一個(gè)結(jié)點(diǎn)*/if(T[i]!=Nil)break;i++;doj++;

while(i>=powl(2,j));/*計(jì)算2的j次冪。*/returnj;}

/*初始條件:二叉樹T存在*/

/*操作結(jié)果:當(dāng)T不空,用e返回T的根,返回OK;否則返回ERROR,e無定義*/StatusRoot(SqBiTreeT,TElemType*e){

if(BiTreeEmpty(T))/*T空*/returnERROR;else{*e=T[0];returnOK;}}

/*初始條件:二叉樹T存在,e是T中某個(gè)結(jié)點(diǎn)(的位置)*//*操作結(jié)果:返回處于位置e(層,本層序號(hào))的結(jié)點(diǎn)的值*/TElemTypeValue(SqBiTreeT,Positione){

returnT[(int)powl(2,e.level-1)+e.order-2];}

/*初始條件:二叉樹T存在,e是T中某個(gè)結(jié)點(diǎn)(的位置)*//*操作結(jié)果:給處于位置e(層,本層序號(hào))的結(jié)點(diǎn)賦新值value*/

StatusAssign(SqBiTreeT,Positione,TElemTypevalue){

inti=(int)powl(2,e.level-1)+e.order-2;/*將層、本層序號(hào)轉(zhuǎn)為矩陣的序號(hào)*/if(value!=Nil

elseif(value==NilT[i]=value;returnOK;}

/*初始條件:二叉樹T存在,e是T中某個(gè)結(jié)點(diǎn)*/

/*操作結(jié)果:若e是T的非根結(jié)點(diǎn),則返回它的雙親,否則返回"空"*/TElemTypeParent(SqBiTreeT,TElemTypee){inti;

i

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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)論