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

📄 二叉树.cpp

📁 二叉树的创建(按照先序创建二叉树)
💻 CPP
字号:
#include<iostream>
using namespace std;
class BinNode
{
public:
	char element;
	BinNode * left;
	BinNode * right;
	static BinNode *freelist;
	///////////////
	BinNode(){left=right=NULL;}
	BinNode(char e,BinNode*l=NULL,BinNode*r=NULL)
	{
		element=e;left=l;right=r;
	}
	~BinNode(){}
	////////////////////
	BinNode*leftchild() const {return left;}
	BinNode*rightchild() const {return right;}
	char value() const{return element;}
	void setValue(char val){element=val;}
	void setLeft(BinNode *l){left=l;}
	void setRight(BinNode*r){right=r;}
	
	bool isLeaf()const{return(left==NULL)&&(right==NULL);}//叶子节点左右指针为空
	//void *operator new(size_t);//系统内置函数重载
	void Delete(BinNode*rt);
};
BinNode* Create();
/*void Delete(BinNode*rt)
{
	if(rt!=NULL)
	{
		Delete(rt->left);
		Delete(rt->right);
		delete rt;
	}
}*/
////////////////中序遍历/////////////////////////
void inorder(BinNode*rt)
{
	if(rt!=NULL)
	{
		inorder(rt->leftchild());
		cout<<rt->element<<" ";
		inorder(rt->rightchild());
	}
}
///////////////////////////////创建二叉树
BinNode*Create()//先序建立二叉树
{
	BinNode*Troot;
	char ch;
	cin>>ch;
	if(ch=='$')
	{
		Troot=NULL;
	}
	else
	{
		Troot=new BinNode(ch,NULL,NULL);//根
		Troot->left=Create();
		Troot->right=Create();
	}
	return Troot;//返回Troot
}
int main()
{
	BinNode*A;
	cout<<"请建立节点:\n";
	A=Create();
	inorder(A);
	return 0;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -