資源簡介
二叉排序樹實現 數據結構 c++ 嚴蔚敏 完全是課本上的
代碼片段和文件信息
#include
using?std::endl;
using?std::cout;
using?std::cin;
typedef?struct?BiTNode
{
int?data;
struct?BiTNode?*?LChild;
struct?BiTNode?*?RChild;
}BiTNode*BiTree;
bool?EQ(int?xint?y)
{
if?(x==y)
return?true;
else
return?false;
}
bool?LT(int?xint?y)
{
if(x? return?true;
else
return?false;
}
void?DestroyBSTable(BiTree?&DT)
{
}
int?SearchBSTable(BiTree?Tint?keyBiTree?fBiTree?&?p)
{
//在根指針T所指二叉排序樹中遞歸地查找其關鍵字等于key的數據元素若查找成功則指針p指向
//該數據元素結點并返回TRUE否則指針p指向查找路徑上訪問的最后一個結點并返回FALSE指針
//f指向T的雙親其初始調用值為NULL
if(!T)???????????????????????????//查找不成功
{
p=f;
return?false;
}
else?if?(EQ(keyT->data))?????????//查找成功
{
p=T;
return?true;
}
else?if?(LT(keyT->data))
return?SearchBSTable(T->LChildkeyTp);????//在左子樹中繼續查找
else
return?SearchBSTable(T->RChildkeyTp);????//在右子樹中繼續查找
}
int?InsertBSTable(BiTree?&Tint?e)
{
//當二叉排序樹T中不存在關鍵字等于e的數據元素時插入e并返回TRUE否則返回FALSE
BiTree?sp;
if?(!SearchBSTable(
- 上一篇:嵌入式課程設計-交通燈的實現
- 下一篇:CKF/SCKF及文檔
評論
共有 條評論