第十三周專案二

2021-08-13 12:35:21 字數 1630 閱讀 7343

煙台大學計算機學院   

問題描述:設計乙個演算法,輸出在二叉排序中查詢時查詢某個關鍵字經過的路徑 

輸入描述:無

輸出描述:輸出路徑

*/#include 

#include 

#define maxsize 100

typedef

intkeytype;                    

//定義關鍵字型別

typedef

char

infotype;  

typedef

struct

node                     

//記錄型別

bstnode;  

intpath[maxsize];                      

//全域性變數,用於存放路徑

void

dispbst(bstnode *b);               

//函式說明

intinsertbst(bstnode *&p,keytype k)    

//在以*p為根節點的bst中插入乙個關鍵字為k的節點

else

if(k==p->key)  

return

0;  

else

if(kkey)  

return

insertbst(p->lchild,k);  

//插入到*p的左子樹中

else

return

insertbst(p->rchild,k);  

//插入到*p的右子樹中

}  bstnode *creatbst(keytype a,int

n)  

//由陣列a中的關鍵字建立一棵二叉排序樹

//在二叉排序樹中查詢,記經過的節點記錄在path中,返回值為最後查詢節點在path中儲存的下標

intsearchbst(bstnode *bt,keytype k,keytype path,

inti)  

else

}  //查詢並顯示經過的路徑

void

searchresult(bstnode *bt, 

intk1)  

void

dispbst(bstnode *bt)  

//以括號表示法輸出二叉排序樹bt

}  }  int

main()  

,n=10;  

printf("建立的bst樹:"

);  

bt=creatbst(a,n);  

dispbst(bt);  

printf("\n"

);  

printf("  查詢%d關鍵字:"

,k1);  

searchresult(bt,k1);  

printf("  查詢%d關鍵字:"

,k2);  

searchresult(bt,k2);  

return

0;  

}  

執行結果:

第十三周 專案4 (1)

檔名稱 grade.cpp 作 者 劉天恩 完成日期 2014年11月23日 版 本 號 v1.0 問題描述 用冒泡法按降序排序a中元素,輸出排序後的陣列.用冒泡法按降序排序b中元素,輸出排序後的陣列.程式輸入 無 程式輸出 輸出按降序排序後a,b陣列中的元素 includeusing namesp...

第十三周專案1 2

問題及 檔名稱 test.cpp 作 者 陳文青 完成日期 2014年11月16日 版 本 號 v1.0 問題描述 建立乙個長度為10的整型陣列並初始化,由後往前 由第9個元素向第0個元素方向 輸出陣列中所有元素的值,改變陣列元素的值,令所有的資料加倍,輸出改變後的值。程式輸入 程式輸出 倒序輸出陣...

第十三周專案6 5

問題及 檔名稱 test.cpp 作 者 陳文青 完成日期 2014年11月25日 版 本 號 v1.0 問題描述 從檔案salary.txt中讀入工人的工資 不超過500人 全部增加20 好事 然後進行排序,程式輸入 程式輸出 include include includeusing namesp...