2019.4.27二叉樹
阿新 • • 發佈:2019-04-28
urn esp include spa reorder reat right mes 9.4 PreOrder(T);
cout << "中序" << endl;
InOrder(T);
cout << "後序" << endl;
PostOrder(T);
return 0;
}
void CreateTree(TREE &T)
{
int data;
cin >> data;
if (data == -1) {
T = NULL;
return;
}
T = new TREE;
T->data = data;
CreateTree(T->left);
CreateTree(T->right);
}
void PreOrder(TREE &T)//先序遍歷
{
if (T)
{
cout << T->data << " ";
PreOrder(T->left);
PreOrder(T->right);
}
}
void InOrder(TREE &T)//中序遍歷
{
if (T) {
InOrder(T->left);
cout << T->data;
InOrder(T->right);
}
}
void PostOrder(TREE &T)//後序遍歷
{
PostOrder(T->left);
PostOrder(T->right);
cout << T->data << " ";
}
#include "pch.h"
#include <iostream>
using namespace std;
typedef struct tree {
int data;
struct tree *left;
struct tree *right;
}TREE,*Tree;
void CreateTree(TREE &T);
void PreOrder(TREE &T);
void InOrder(TREE &T);
void PostOrder(TREE &T);
int main()
{
Tree T;
CreateTree(T);
cout << "前序" << endl;
cout << "中序" << endl;
InOrder(T);
cout << "後序" << endl;
PostOrder(T);
return 0;
}
void CreateTree(TREE &T)
{
int data;
cin >> data;
if (data == -1) {
T = NULL;
return;
}
T = new TREE;
T->data = data;
CreateTree(T->left);
CreateTree(T->right);
}
void PreOrder(TREE &T)//先序遍歷
if (T)
{
cout << T->data << " ";
PreOrder(T->left);
PreOrder(T->right);
}
}
void InOrder(TREE &T)//中序遍歷
{
if (T) {
InOrder(T->left);
cout << T->data;
InOrder(T->right);
}
}
void PostOrder(TREE &T)//後序遍歷
{
PostOrder(T->left);
PostOrder(T->right);
cout << T->data << " ";
存在問題,跑不起來= =
2019.4.27二叉樹