• 二叉树习题


     /*编一个程序,读入用户输入的一串先序遍历字符串,根据此字符串建立一个二叉树(以指针方式存储)。 
    例如如下的先序遍历字符串: ABC##DE#G##F### 其中“#”表示的是空格,空格字符代表空树。
    建立起此二叉树以后,再对二叉树进行中序遍历,输出遍历结果。
    输入abc##de#g##f###,输出cbegdfa *
     1 #include <iostream>
     2 #include <vector>
     3 using namespace std;
     4 
     5 typedef struct BiTree
     6 {
     7   char data;
     8   struct BiTree* lchild= NULL;
     9   struct BiTree* rchild = NULL;
    10 };
    11 int count ;
    12 void CreateTree(BiTree* &T,string str)
    13 {
    14    char temp = str[count];
    15    count = count +1;
    16    if(temp == '#')
    17    {
    18        T = NULL;
    19        return ;   
    20    }
    21    else
    22    {
    23        T = (BiTree*)malloc(sizeof(BiTree)); 
    24        T->data = temp;
    25        CreateTree(T->lchild,str);
    26        CreateTree(T->rchild,str);
    27        return ;
    28    }
    29 }
    30 
    31 void InOrderTravese(BiTree* T)
    32 {
    33     if(T==NULL)
    34         return;
    35     InOrderTravese(T->lchild);
    36     cout<<T->data<<" ";
    37     InOrderTravese(T->rchild);
    38 }
    39 
    40 int main()
    41 {
    42     string str;
    43     BiTree* tree;
    44     while(cin>>str)
    45     {
    46          count = 0;
    47             CreateTree(tree,str);
    48          InOrderTravese(tree);
    49          cout<<endl;
    50     }
    51        
    52     return 0;
    53 }
  • 相关阅读:
    文艺平衡树
    [BJOI2010] 严格次小生成树
    BZOJ3864 hero meet devil
    [NOI2010]能量采集(莫比乌斯反演)
    陌上花开(三维偏序)(cdq分治)
    树状数组套trie 模板
    SDOI2010粟粟的书架
    OI计算几何 简单学习笔记
    OI知识点|NOIP考点|省选考点|教程与学习笔记合集
    悬线法学习笔记
  • 原文地址:https://www.cnblogs.com/LaplaceAkuir/p/5776685.html
Copyright © 2020-2023  润新知