?? tree.cpp
字號:
//tree.cpp
#include<iostream.h>
#include "tree.h"
node::node(int x)
{
data=x;
}
node::~node()
{
cout<<"二叉樹的結點被析構"<<endl;
}
tree::tree(void)
{
root=0;
}
tree::~tree()
{
free_t(root);
cout<<"二叉樹被析構"<<endl;
}
void tree::free_t(node *r)
{
if(r!=0)
{
free_t(r->left);
free_t(r->right);
delete r;
}
}
node* tree::get_r()
{
return(root);
}
void tree::build_t(int d)
{
node *p,*q;
if(root==0)//空樹
{
root=new node(d);
root->left=0;
root->right=0;
}
else
{
p=root;
while(p!=0)
{
q=p;
if(d<p->data)
p=p->left;
else
p=p->right;
}
node *newp=new node(d);
newp->left=0;
newp->right=0;
if(d<q->data)
q->left=newp;
else
q->right=newp;
}
}
void tree::preorder(node *r)//前序遍歷
{
if(r!=0)
{
cout<<r->data<<" ";
preorder(r->left);
preorder(r->right);
}
}
void tree::inorder(node *r)//中序遍歷
{
if(r!=0)
{
inorder(r->left);
cout<<r->data<<" ";
inorder(r->right);
}
}
void tree::postorder(node *r)//后序遍歷
{
if(r!=0)
{
postorder(r->left);
postorder(r->right);
cout<<r->data<<" ";
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -