码迷,mamicode.com
首页 > 其他好文 > 详细

3.10分层打印二叉树的节点

时间:2015-04-28 11:48:03      阅读:113      评论:0      收藏:0      [点我收藏+]

标签:

#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;
}

3.10分层打印二叉树的节点

标签:

原文地址:http://blog.csdn.net/qq_22335577/article/details/45332863

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!