//创建二叉树和三种遍历,输入序列如 1 5 8 0 0 0 6 0 0
#include <stdio.h>
#include <iostream>
using namespace std;
struct Node{
int data;
Node* left;
Node* right;
};
Node* create(void){
int x;
cin>>x;
if(x==0){
return NULL;
}
Node *T = new Node;
T->data = x;
T->left = create();
T->right =create();
}
void preOrder(Node * T){
if(T==NULL)
return;
cout<<T->data<<' ';
preOrder(T->left);
preOrder(T->right);
}
void midOrder(Node * T){
if(T==NULL)
return;
midOrder(T->left);
cout<<T->data<<' ';
midOrder(T->right);
}
void postOrder(Node * T){
if(T==NULL)
return;
postOrder(T->left);
postOrder(T->right);
cout<<T->data<<' ';
}
int main(){
//Node* root = new Node;
Node * root =create();
preOrder(root);
printf("\n");
midOrder(root);
printf("\n");
postOrder(root);
return 0;
}//创建二叉树和三种遍历,输入序列如 1 5 8 0 0 0 6 0 0
根据前序遍历求树的各种遍历
最新推荐文章于 2024-10-16 19:08:56 发布
本文介绍了如何使用C++编程语言实现二叉树的创建,并详细展示了前序遍历(preOrder)、中序遍历(midOrder)和后序遍历(postOrder)的实现方法,以输入序列158000600为例。
摘要由CSDN通过智能技术生成