📄 tree.h
字号:
// Tree.h: interface for the Tree class.
//
//////////////////////////////////////////////////////////////////////
#if !defined(AFX_TREE_H__5546B558_BB74_4D9B_822A_0781426ED5A4__INCLUDED_)
#define AFX_TREE_H__5546B558_BB74_4D9B_822A_0781426ED5A4__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
#include "treenode.h"
class Tree
{
public:
Tree()
{
root=NULL;
}
void Create(char *s)
{
data[0]=NULL;
for(int i=1;s[i-1]!='\0';i++)
{
if(s[i-1]!='#')
data[i]=new TreeNode (s[i-1]);
if(s[i-1]=='#')
data[i]=NULL;
if(i==1)
continue;
else
{
if(i%2==0)
data[i/2]->left=data[i];
if(i%2==1)
data[i/2]->right=data[i];
}
}
root=data[1];
}
virtual ~Tree()
{
}
void MidOrder()
{
MidOrder(root);
}
void PreOrder()
{
PreOrder(root);
}
void PostOrder()
{
PostOrder(root);
}
private:
TreeNode *root;
TreeNode *data[100];
void PreOrder(TreeNode* root)
{
if(root == NULL)
return ;
cout<<root->data;
PreOrder(root->left);
PreOrder(root->right);
}
void MidOrder(TreeNode* root)
{
if(root == NULL)
return ;
MidOrder(root->left);
cout<<root->data;
MidOrder(root->right);
}
void PostOrder(TreeNode* root)
{
if(root == NULL)
return ;
PostOrder(root->left);
PostOrder(root->right);
cout<<root->data;
}
};
#endif // !defined(AFX_TREE_H__5546B558_BB74_4D9B_822A_0781426ED5A4__INCLUDED_)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -