⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 tree.h

📁 是二叉树前中后的初级教程
💻 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 + -