海珠营销型网站建设,网站建设完提示文件取消分享,共享办公室 设计,公司广告墙设计编一个程序#xff0c;读入用户输入的一串先序遍历字符串#xff0c;根据此字符串建立一个二叉树#xff08;以指针方式存储#xff09;。 例如如下的先序遍历字符串#xff1a; ABC##DE#G##F### 其中“#”表示的是空格#xff0c;空格字符代表空树。建立起此二叉树以后读入用户输入的一串先序遍历字符串根据此字符串建立一个二叉树以指针方式存储。 例如如下的先序遍历字符串 ABC##DE#G##F### 其中“#”表示的是空格空格字符代表空树。建立起此二叉树以后再对二叉树进行中序遍历输出遍历结果。
代码如下
#include iostream
using namespace std;struct node {char w;node *l, *r;
};void build(node *T) {char c;cin c;if (c #)T NULL;else {T new node;//这一步容易忘记要申请空间T-w c;build(T-l);build(T-r);}
}void in_order(node *T) {if (T) {in_order(T-l);cout T-w;in_order(T-r);}
}void delete_node(node *T) {if (T NULL)return ;else {delete_node(T-l);delete_node(T-r);delete T;}
}int main() {node *T;build(T);in_order(T);delete_node(T);//动态申请空间用完以后记得释放return 0;
}测试结果