數(shù)據(jù)結(jié)構(gòu)實(shí)驗(yàn)二樹的應(yīng)用_第1頁
數(shù)據(jù)結(jié)構(gòu)實(shí)驗(yàn)二樹的應(yīng)用_第2頁
數(shù)據(jù)結(jié)構(gòu)實(shí)驗(yàn)二樹的應(yīng)用_第3頁
數(shù)據(jù)結(jié)構(gòu)實(shí)驗(yàn)二樹的應(yīng)用_第4頁
數(shù)據(jù)結(jié)構(gòu)實(shí)驗(yàn)二樹的應(yīng)用_第5頁
已閱讀5頁,還剩2頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、數(shù)據(jù)結(jié)構(gòu)實(shí)驗(yàn)二 樹的應(yīng)用(代碼&測試界面)/Cosmetics_Info.h#include #include #include typedef struct /化妝品信息的結(jié)構(gòu)體char brandname10; /品牌名 double price; /價(jià)格 datatype;typedef struct node /二叉排序樹鏈表的結(jié)點(diǎn)結(jié)構(gòu) datatype data; /結(jié)點(diǎn)信息 struct node *lchild, *rchild; /指向左孩子與右孩子的指針 bintnode; typedef bintnode *bintree; /結(jié)點(diǎn)指針類型 bintree root; /指

2、向二叉樹根結(jié)點(diǎn)的指針void InsertBintree(bintree *t, datatype addnode) /創(chuàng)建新結(jié)點(diǎn) bintree f = NULL, p = *t; /p指向根結(jié)點(diǎn) while(p) /每次從根結(jié)點(diǎn)開始比較,查找插入位置if ( strcmp(addnode.brandname,p-data.brandname)=0&addnode.price=p-data.price )printf(已錄入該化妝品信息,本次錄入無效!n);return;/若二叉排序樹中已含addnode,則無需插入,ruturn退出函數(shù) f = p; /f用于保存新結(jié)點(diǎn)的最終插入位置p =

3、 (addnode.price) data.price)? p-lchild:p-rchild; p=(bintree)malloc(sizeof(bintnode); /生成待插入的新結(jié)點(diǎn) p-data=addnode; /將新結(jié)點(diǎn)加到樹上 p-lchild=p-rchild=NULL;if(*t=NULL) *t=p; /原樹為空,將值賦值給根結(jié)點(diǎn) else if(addnode.pricedata.price) f-lchild=p;else f-rchild=p; bintree CreatBintree() /創(chuàng)建二叉排序樹鏈表 bintree t = NULL;datatype a

4、ddnode; /錄入化妝品信息 printf(end,-1為結(jié)束標(biāo)記:n);scanf(%s,addnode.brandname);scanf(%lf,&addnode.price);while(strcmp(addnode.brandname,end)!=0)|(addnode.price!=-1)InsertBintree(&t,addnode); /將addnode插入二叉排序樹 scanf(%s,addnode.brandname);scanf(%lf,&addnode.price);printf(化妝品信息二叉排序樹建立成功!n); return t; /返回二叉排序樹的根地址 v

5、oid inorder(bintree t) /遞歸實(shí)現(xiàn)二叉樹中序遍歷輸出 if(t) inorder(t-lchild); printf(tt 品牌名:%s ,t-data.brandname); printf(t價(jià)格:%g元n,t-data.price); inorder(t-rchild); /main.c#include #include #include #include Cosmetics_Info.h int main() int s=1;int set;while(s) printf(ttn);printf(tt簡單化妝品信息處理系統(tǒng)n);printf(ttn);printf(tt 1.錄入化妝品信息 n);printf(tt 2.輸出化妝品信息 n);printf(tt 3.退出系統(tǒng) n);printf(ttn);printf(選擇操作:);scanf(%d,&set);switch(set)case 1:root=CreatBintree();break;case 2:printf(化妝品品牌價(jià)格一覽表(價(jià)格從低到高):n);printf(ttn); inorder(root);printf(ttn);break;case 3:s=0;printf(t系統(tǒng)退出成功!n);break;default:printf(無該選項(xiàng)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(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ǔ)空間,僅對用戶上傳內(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

提交評論