二叉树的建立与遍历

来源:互联网 发布:cab软件下载 编辑:程序博客网 时间:2024/06/11 15:25
#include<iostream>using namespace std;int num[100];typedef struct node{    struct node *left;    struct node* right;    char value;}BiTreeNode, *BiTree;void creatBiTree(BiTree &T) // 传引用{    char c;    cin >> c;    if(c == '0')       {         T = NULL;       }    else    {        T = new BiTreeNode;        T->value = c;        creatBiTree(T->left);        creatBiTree(T->right);    }}//前序遍历二叉树并打印出来void preorder(BiTree T){    if(T)    {        cout << T-> value << " ";        preorder( T -> left);        preorder( T -> right);    }}//中序遍历二叉树并打印出来void midorder(BiTree T){    if(T)    {        midorder( T-> left);        cout << T -> value << " ";        midorder(T -> right);    }}//后续遍历二叉树并打印出来void postorder(BiTree T){    if(T)    {        postorder(T -> left);        postorder(T -> right);        cout << T -> value << " ";    }}int main(){    BiTree T;    creatBiTree(T);    cout << "creat!!!" << endl;    cout << "preorder :" << endl;    preorder(T);    cout << endl;    cout << "midorder :" << endl;    midorder(T);    cout<< endl;    cout << "postorder: " << endl;    postorder(T);    return 0;}
0 0
原创粉丝点击