十四周 專案三 是否二叉排序樹

2021-07-08 14:25:33 字數 1423 閱讀 1094

/* 

檔名稱:main.cpp

作者 :王超

完成日期:2023年12月4日

問題描述:是否二叉排序樹

*/

#include #include #define maxsize 100

typedef int keytype; //定義關鍵字型別

typedef char infotype;

typedef struct node //記錄型別

bstnode;

int path[maxsize]; //全域性變數,用於存放路徑

void dispbst(bstnode *b); //函式說明

int insertbst(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中的關鍵字建立一棵二叉排序樹

}}/*

int judgebst(bstnode *bt)為判斷乙個樹是否為排序二叉樹設計的演算法的實現

*/keytype predt=-32767; //predt為全域性變數,儲存當前節點中序前趨的值,初值為-∞

int judgebst(bstnode *bt) //判斷bt是否為bst

}int main()

,n=10;

printf("建立排序二叉樹:");

bt=creatbst(a,n);

dispbst(bt);

printf("\n");

printf("bt%s\n",(judgebst(bt)?"是一棵bst":"不是一棵bst"));

bt->lchild->rchild->key = 30; //搞個破壞!

printf("修改後的二叉樹:");

dispbst(bt);

printf("\n");

printf("bt%s\n",(judgebst(bt)?"是一棵bst":"不是一棵bst"));

第十四周 專案三 是否二叉排序樹?

檔名稱 main.cpp 完成日期 2015年12月06日 版本號 codeblocks 問題描述 設計乙個演算法,判斷給定的二叉樹是否是二叉排序樹。輸入描述 無 程式輸出 見執行結果 include include define maxsize 100 typedef int keytype 定義...

第十四周專案三 是否二叉排序樹

all right reserved 檔名稱 main.cpp 完成日期 2016年12月16日 版本號 v1.0 問題描述 設計乙個演算法,判斷給定的二叉樹是否是二叉排序樹。輸入描述 無 程式輸出 測試資料 include include define maxsize 100 typedef in...

第十四周 專案三 是否是二叉樹

問題及 all right reserved.檔名稱 驗證演算法.cpp 版本號 v1.0 問題描述 設計演算法判斷乙個二叉樹是否為二叉排序樹 輸入描述 無 程式輸出 根據要求輸出 include include define maxsize 100 typedef int keytype 定義關鍵...