G3: serialization and deserialization

serialization and deserialization a binary tree.

 

void  buildtree(TreeNode* &p, ifstream& ifs){
	string token;
	readNextToken(ifs, token);

	while(token==","){
		readNextToken(ifs, token);	}
	if(token=="#") {return;}

	TreeNode *tn =  new TreeNode( atoi( token ) );
	p = tn;
	buildtree(tn->left, ifs);
	buildtree(tn->right, ifs);
}

void writeTree( TreeNode* p , ostream& os) {
	if( p==NULL) {
		os<<'#';
		return;
	}
	os<<p->val;
	writeTree(p->left, os);
	writeTree(p->right, os);
}


 


posted @ 2013-01-28 21:04  西施豆腐渣  阅读(169)  评论(0编辑  收藏  举报