📄 (7)树的建立和遍历.cpp
字号:
#include<conio.h>
#include<iostream.h>
struct Node
{
char Data;
Node *Left,*Right;
};
Node *Root=NULL;
char LeafCount=0;
void Create(Node *&Tree)
{
char Char;
Char=getch();
cout<<Char;
if(Char==' ')
Tree=NULL;
else
{
Tree=new Node;
if(Root==NULL)
Root=Tree;
Tree->Data=Char;
Create(Tree->Left);
Create(Tree->Right);
if((Tree->Left==NULL)&&(Tree->Right==NULL))
LeafCount++;
}
}
void PreOrder(Node *Tree)
{
if(Tree==NULL)
return;
cout<<Tree->Data;
PreOrder(Tree->Left);
PreOrder(Tree->Right);
}
void PostOrder(Node *Tree)
{
if(Tree==NULL)
return;
PostOrder(Tree->Left);
PostOrder(Tree->Right);
cout<<Tree->Data;
}
void InOrder(Node *Tree)
{
if(Tree==NULL)
return;
InOrder(Tree->Left);
cout<<Tree->Data;
InOrder(Tree->Right);
}
void Exchange(Node *Tree)
{
Node *TempNode;
if(Tree==NULL)
return;
Exchange(Tree->Left);
Exchange(Tree->Right);
TempNode=Tree->Left;
Tree->Left=Tree->Right;
Tree->Right=TempNode;
}
void main()
{
clrscr();
Create(Root);
cout<<endl;
PreOrder(Root);
cout<<endl;
PostOrder(Root);
cout<<endl;
InOrder(Root);
cout<<endl;
Exchange(Root);
PreOrder(Root);
cout<<endl;
cout<<(int)LeafCount;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -