欢迎使用本站,预祝练习时长两年半的选手们到成功! [本模块信息来自tem/def/head]

1340:扩展二叉树

时间:2024-05-05 12:12 作者:admin 点击:
#include iostream#include queueusing namespace std;struct node{char c;node *left,*right;};int k=0;char a;string s="12300400506700800";node *createtree(){node *p;//cina;a=s[k++];if(a!='.'){p=new node;p-c=a;p-left = createtree();p-right = cre
#include <iostream>
#include <queue>
using namespace std;
struct node{
	char c;
	node *left,*right;
};
int k=0;
char a;
string s="12300400506700800";
node *createtree(){
	node *p;
	//cin>>a;
	a=s[k++];
	if(a!='.'){
		p=new node;
		p->c=a;
		p->left = createtree();
		p->right = createtree();
	}
	else {
		p=NULL;
	}
	return p;
}

void zprintf(node *p){
	if(p==NULL) return ;
	zprintf(p->left);
	cout<<p->c;
	zprintf(p->right);
}
void hprintf(node *p){
	if(p==NULL) return ;
	hprintf(p->left);
	hprintf(p->right);
	cout<<p->c;
}
int main(){
	cin>>s;
	node *root = createtree();
	zprintf(root);
	cout<<endl;
	hprintf(root);
	return 0;
}


(责任编辑:admin)
    顶一下
    (0)
    0%
    踩一下
    (0)
    0%