數(shù)據(jù)結(jié)構(gòu)課程設(shè)計二叉排序樹查找C語言代碼1含測試序列_第1頁
數(shù)據(jù)結(jié)構(gòu)課程設(shè)計二叉排序樹查找C語言代碼1含測試序列_第2頁
數(shù)據(jù)結(jié)構(gòu)課程設(shè)計二叉排序樹查找C語言代碼1含測試序列_第3頁
數(shù)據(jù)結(jié)構(gòu)課程設(shè)計二叉排序樹查找C語言代碼1含測試序列_第4頁
數(shù)據(jù)結(jié)構(gòu)課程設(shè)計二叉排序樹查找C語言代碼1含測試序列_第5頁
已閱讀5頁,還剩10頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、數(shù)據(jù)結(jié)構(gòu)課程設(shè)計二叉排序樹查找C語言代碼1含測試序列#include stdio. h #include stdlib h #include ,zmalloc h typedef int KeyType; typedef structKeyType key;DataType;typedef struct node DataType data;struct node *leftChild; struct node *rightChild; BiTreeNode;BiTreeNode *root=NULL; DataType a20, item; int i,n, num=0;/*査找*/void

2、 Search(BiTreeNode *root, DataType item)BiTreeNode *p;辻(root!=NULL)p=root;while(p!=NULL)if (p-data key二二item. key) break;num=l;if(item. keyp-data. key) p=p-rightChiId;elsep = pleftChild;if(p二二NULL)num二0;if (numl)for(i=0;idata keyleftChiId;p=(BiTreeNode *)malloc(sizeof(BiTreeNode);if(p二二NULL)printf(,

3、zLack of space!);exit(l);p-data=item;p-leftChild二NULL;p-rightChild=NULL;if(parent二二NULL) *root=p;else if(item. keydata key) parent-leftChild=p;else parent-rightChi1d=p;return 1;/*插入數(shù)組*/void InsertN()printf (Please enter some integer:nz,);for(i=0;i20;i+)scanf (,/%d,/,&ai);if (ai. key=-l) /*判斷是否非數(shù)字*/n

4、=i;break;else if(ail. key0. n);i;if (i=19) n 二 20;break;printf (,znThe number you entered are:n,z):for(i=0;ileftChiId!二NULL)InTraverse(root-leftChild);printf (z/%d , root-data key);if(root-rightChiId!=NULL)InTraverse(root-rightChiId) ; /*刪除*/ /*DataType item*/void Destroy ()/*BiTreeNode *root:辻(*roo

5、t)!=NULL&(*root)-leftChild!=NULL)Destroy(&(*root)-leftCh訂d); if(*root)!=NULL&(*root)-Might Chi Id!二NULL)Destroy(&(*root)-rightChiId); free(*root);*/printf (Destory has been finished!z/);/*打印二叉樹*/void PrintBiTree(BiTreeNode *bt, int n) if (bt二二NULL)return;PrintBiTree(bt-rightChild, n+1); for(i二0;i二0)

6、printf C”);printf(%dn, bt-data);PrintBiTree(bt-leftChiId, n+1) ; /*主函數(shù)*/void main()int d, t二0;doprintf(n);printfC 1. Insert); /*y第二次插入的重復(fù)數(shù)字沒有被記錄,記錄了新的數(shù)字,相同數(shù)值被忽略*/printf C 2. Searchll);printf (,z 3. Destroyn);printf C 4. Printnz,);printf C 5. InTraversen); /*y*/printf C 6. Exit! nnz/);printf (Input c

7、ommand number:n,z): scanf (%d, &d);switch(d)case 1: InsertNO ; break;case 2:printf Cn Search number: n,z):scanf&item key);Search (root, item);break;case 3: /*判斷是否存在該數(shù)值*/printf (Destroy number: nz/); scanf (,z%d,z, &item. key);Search(root, item);if (num=0)printf (Destroy could not be done n);break;el

8、seDestroy ();break;case 4: PrintBiTree(root, 0): break;case 5: InTraverse (root): break;case 6: t=l: break;default: printf(The number should between 1 and 6. n); while(!t);測試序列二義排療;樹查找1 Insert2. Search3. Destroy4. Print3. InTraverse6. Exit!Input command number:Please enter some integer:1105032576940

9、88-1The number you entered are:10 50 32 5 76 9 40 881 Insert2. Search3. Destroy4. Print5. InTraverse6. Exit!Input command number:48876504032一一一1051. Insert2. Search3. Destroy4. Print3. InTraverse6. Exit!Input command number: 2Search number: 9Element 9 exists in a5J1. Insert2. Search3. Destroy4. Print5. InTraverse6. Exit!Input command number: 1Please enter some integer:1206-1The number you entered are:6. Exit!120 61.Insert2.Search3.Destroy4.Print5.InTraverse6.Exit!Input command number: 41208876504032一10一 01.Insert2.Search

溫馨提示

  • 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)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論