标签:
#include<iostream>
#include<vector>
using namespace std;
struct Node
{
	char value;
	Node *left;
	Node *right;
};
void create(Node *&T)
{
	char c;
	cin>>c;
	if('#'==c)
	{
		T=NULL;
	}
	else
	{
		T=new Node;
		T->value=c;
		create(T->left);
		create(T->right);
	}
}
void preorder(Node *node)
{
	if(node==NULL)
		return;
	else
	{
		cout<<node->value<<" ";
		preorder(node->left);
		preorder(node->right);
	}
}
void printnodebylevel(Node *root)
{
	if(root==NULL)
		return ;
	vector<Node *> vec;
	vec.push_back(root);
	int cur=0;
	int last=1;
	while(cur<vec.size())
	{
		last=vec.size();
		while(cur<last)
		{
			cout<<vec[cur]->value<<" ";
			if(vec[cur]->left!=NULL)
				vec.push_back(vec[cur]->left);
			if(vec[cur]->right!=NULL)
				vec.push_back(vec[cur]->right);
			cur++;
		}
		cout<<endl;
	}
}
int main()
{
	Node *root;
	create(root);
	//preorder(root);
	//cout<<endl;
	 printnodebylevel(root);
	system("pause");
	return 0;
}标签:
原文地址:http://blog.csdn.net/qq_22335577/article/details/45332863