zoukankan      html  css  js  c++  java
  • 二叉树遍历

    题意

    编一个程序,读入用户输入的一串先序遍历字符串,根据此字符串建立一个二叉树(以指针方式存储)。
    例如如下的先序遍历字符串:
    ABC##DE#G##F###
    其中“#”表示的是空格,空格字符代表空树。建立起此二叉树以后,再对二叉树进行中序遍历,输出遍历结果。

    思路

    添加#字符后构成完全二叉树。

    char pre[110];
    int n;
    int Index;
    
    void build(int &Index)
    {
        if(pre[Index] == '#') return;
    
        char root=pre[Index];
        Index++;
        build(Index);
    
        cout<<root<<' ';
        Index++;
        build(Index);
    }
    
    int main()
    {
        while(cin>>pre+1)
        {
            n=strlen(pre+1);
            Index=1;
            build(Index);
            cout<<endl;
        }
        //system("pause");
        return 0;
    }
    
  • 相关阅读:
    Centos7.x做开机启动脚本
    贝叶斯方法之一
    R程序包
    c#调用R
    感悟--不可抗拒的行为
    IP等级
    词语
    关于editplus设置java和c#
    csc命令
    editplus配置csharp
  • 原文地址:https://www.cnblogs.com/fxh0707/p/14438466.html
Copyright © 2011-2022 走看看