10.25学习总结

(1)今日安排
二叉树遍历应用
题目要求:读入用户输入的一串字符串,将字符串按照先序遍历建立一个二叉树。 其中“#”表示的是空格,代表空树。再对建立好的二叉树进行中序遍历,输出遍历结果。

(2)源代码

#include<iostream>
#include<cstdio>
using namespace std;
typedef struct node{
    char ch;
    node* lc,*rc;
}node,*Node;
string s;
Node build(Node p,int& k){
    if(s[k]=='#'){
        k++;
        return NULL;
    }
    p=new node();
    p->ch=s[k++];
    p->lc=build(p->lc,k);
    p->rc=build(p->rc,k);
    return p;
}
void show(Node p){
    if(p==NULL) return;
    show(p->lc);
    cout<<p->ch<<' ';
    show(p->rc);
}
int main(){
    cin>>s;
    Node p=NULL;
    
    int k=0;
    p=build(p,k);
    
    show(p);
    
    return 0;
}
posted @ 2021-10-25 21:05  今天又双叒叕在敲代码  阅读(33)  评论(0编辑  收藏  举报