📄 l6_11.cpp
字号:
#include <iostream.h>
class CTree
{
private:
int value;
CTree *left, *right;
public:
CTree(int v);
~CTree();
int GetValue();
void add(int v);
CTree *find(int v);
};
CTree::CTree(int v)
{
value = v;
left = NULL;
right = NULL;
}
CTree::~CTree()
{
if(left)
{
delete left;
left = NULL;
}
if(right)
{
delete right;
right = NULL;
}
}
int CTree::GetValue()
{
return value;
}
void CTree::add(int v)
{
if(v==value)
return;
else if(v < value)
{
if(left != NULL)
left->add(v);
else
left = new CTree(v);
}
else
{
if(right != NULL)
right->add(v);
else
right = new CTree(v);
}
}
CTree* CTree::find(int v)
{
if(v==value)
return this;
else if(v < value)
{
if(left != NULL)
return left->find(v);
else
return NULL;
}
else
{
if(right != NULL)
return right->find(v);
else
return NULL;
}
}
void main()
{
CTree *root;
root = new CTree(10);
root->add(20);
root->add(2);
root->add(6);
root->add(35);
root->add(15);
CTree *n1, *n2;
n1=root->find(6);
if(n1)
cout << n1->GetValue() << endl;
else
cout << "not found!" << endl;
n2=root->find(7);
if(n2)
cout << n2->GetValue() << endl;
else
cout << "not found!" << endl;
delete root;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -