?? about-tree.cpp
字號:
#include "iostream.h"
#include "stdlib.h"
//----二叉樹的二叉鏈表存儲表示----
typedef struct BiTNode
{
char data;
struct BiTNode *lchild,*rchild;//左右孩子指針
}BiTNode,*BiTree;
//----建立二叉樹的二叉鏈表的過程
BiTree CreateBiTree(BiTree &T)
{
char ch;
cin>>ch;
if(ch=='#')
T=NULL;
else
{
if(!(T=(BiTNode*)malloc(sizeof(BiTNode))))
return 0;
T->data=ch;
CreateBiTree(T->lchild);
CreateBiTree(T->rchild);
}
return 0;
}
//-----先序遍歷
int PreorderTraverse(BiTree T)
{
if(T)
{
cout<<T->data;
if(PreorderTraverse(T->lchild))
return 0;
if(PreorderTraverse(T->rchild))
return 0;
}
return 0;
}//PreorderTraverse
//-----中序遍歷
int InorderTraverse(BiTree T)
{
if(T)
{
if(InorderTraverse(T->lchild))
return 0;
cout<<T->data;
if(InorderTraverse(T->rchild))
return 0;
}
return 0;
}
//-----后序遍歷
int LastorderTraverse(BiTree T)
{
if(T)
{
if(LastorderTraverse(T->lchild))
return 0;
if(LastorderTraverse(T->rchild))
return 0;
cout<<T->data;
}
return 0;
}//LastorderTraverse
void main()
{
BiTree T;
cout<<"輸入要建立的樹:";
CreateBiTree(T);
cout<<"先序遍歷建立的樹:";
PreorderTraverse(T);
cout<<endl;
cout<<"中序遍歷建立的樹:";
InorderTraverse(T);
cout<<endl;
cout<<"后序遍歷建立的樹:";
LastorderTraverse(T);
cout<<endl;
}
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -