class TreeNode
{
public:
int data;
TreeNode *left,*right;
TreeNode();
};
TreeNode::TreeNode()
{
left=right=NULL;
}
class Tree
{
public:
void CreateNode(TreeNode *&);
void InsertNode(TreeNode *&,TreeNode *);
void MidStream(const TreeNode *)const;//中序输出
};
void Tree::CreateNode(TreeNode *&tree)
{
int data;
cin>>data;
TreeNode *node=new TreeNode();
node->data=data;
InsertNode(tree,node);
}
void Tree::InsertNode(TreeNode *&tree,TreeNode *node)
{
if(tree==NULL)
{
tree=new TreeNode();
tree->data=node->data;
}
else
{
if(tree->data==node->data)
return;
else if(tree->data>node->data)
InsertNode(tree->left,node);
else
InsertNode(tree->right,node);
}
}
void Tree::MidStream(const TreeNode *tree)const
{
if(tree!=NULL)
{
MidStream(tree->left);
printf("%d-",tree->data);
MidStream(tree->right);
}
}
int main(array<System::String ^> ^args)
{
Tree tree;
TreeNode *node=NULL;
tree.CreateNode(node);
tree.CreateNode(node);
tree.CreateNode(node);
tree.CreateNode(node);
tree.CreateNode(node);
tree.MidStream(node);
getchar();
getchar();
return 1;
}
class TreeNode
{
public:
int data;
TreeNode *left,*right;
TreeNode();
};
TreeNode::TreeNode()
{
left=right=NULL;
}
class Tree
{
public:
void CreateNode(TreeNode *&);
void InsertNode(TreeNode *&,TreeNode *);
void MidStream(const TreeNode *)const;//中序输出
};
void Tree::CreateNode(TreeNode *&tree)
{
int data;
cin>>data;
TreeNode *node=new TreeNode();
node->data=data;
InsertNode(tree,node);
}
void Tree::InsertNode(TreeNode *&tree,TreeNode *node)
{
if(tree==NULL)
{
tree=new TreeNode();
tree->data=node->data;
}
else
{
if(tree->data==node->data)
return;
else if(tree->data>node->data)
InsertNode(tree->left,node);
else
InsertNode(tree->right,node);
}
}
void Tree::MidStream(const TreeNode *tree)const
{
if(tree!=NULL)
{
MidStream(tree->left);
printf("%d-",tree->data);
MidStream(tree->right);
}
}
int main(array<System::String ^> ^args)
{
Tree tree;
TreeNode *node=NULL;
tree.CreateNode(node);
tree.CreateNode(node);
tree.CreateNode(node);
tree.CreateNode(node);
tree.CreateNode(node);
tree.MidStream(node);
getchar();
getchar();
return 1;
}