C++ 二叉树建立,遍历

来源:互联网 发布:梧桐一叶落而天下知秋 编辑:程序博客网 时间:2024/06/08 06:50
#include<iostream>using namespace std;struct bitNode{char data;bitNode *lchild, *rchild;} ;void createBiTree ( bitNode  *&T ){char ch;cin >> ch;if ( ch == '#' )T = nullptr;else{T = new bitNode;T->data = ch;createBiTree(T->lchild);createBiTree(T->rchild);}}void operation1(char ch){cout<<ch<<" ";}void preOrder(bitNode *T){if(T==nullptr)return;operation1(T->data);preOrder(T->lchild);preOrder(T->rchild);}void inOrder(bitNode *T){if(T==nullptr)return;inOrder(T->lchild);operation1(T->data);inOrder(T->rchild);}void postOrder(bitNode *T){if(T==nullptr)return;postOrder(T->lchild);postOrder(T->rchild);operation1(T->data);}int main(){bitNode *T=nullptr;createBiTree(T);cout<<"前序 "<<endl;preOrder(T);cout<<endl;cout<<"中序 "<<endl;inOrder(T);cout<<endl;cout<<"后序 "<<endl;postOrder(T);return 0;}