煙台大學計算機學院
問題描述:設計乙個演算法,輸出在二叉排序中查詢時查詢某個關鍵字經過的路徑
輸入描述:無
輸出描述:輸出路徑
*/#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...