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

树的遍历

时间:2017-09-22 00:59:58      阅读:104      评论:0      收藏:0      [点我收藏+]

标签:order   string   ios   nod   clu   length   class   pac   struct   

#include<iostream>
#include<memory.h> 
#include<cstring>
#include<queue>
using namespace std;
char* res[26];
struct Node
{
        Node* left;
        Node* right;
        char num;
        Node() { }; 
        Node(char c, Node* l = NULL, Node* r = NULL) 
        {
        	num=c;
        	left=l;
        	right=r;
		}
};

Node* rebuild(char* pr,char* in,int len)
{
   int i;
   Node* temp=new Node(*pr);
   if(len<=0)
        return NULL;
   //cout<<*pr;
   for(i=0;i<len;i++)
   {
           if(*pr==in[i])
           break;
   }
   temp->left=rebuild(pr+1,in,i);
   temp->right=rebuild(pr+i+1,in+i+1,len-i-1);
   return temp;
}
void PreOrder(Node* root)
{
	if(root)
	{
	cout<<root->num;
	PreOrder(root->left);
	PreOrder(root->right); 
    }
 } 
 void InOrder(Node* root)
 {
 	if(root)
 	{
 		InOrder(root->left);
		cout<<root->num;
 		InOrder(root->right);
 	
	 }
 }
 void PostOrder(Node* root)
 {
 	if(root)
 	{	
 		PostOrder(root->left);
 		PostOrder(root->right);
 		cout<<root->num;
	 }
 }
 void LevelOrder(Node* root)
 {
 	queue<Node*> q;
 	if(root!=NULL)
 	q.push(root);
 	Node* temp;
 	while(!q.empty())
 	{
 		temp=q.front();
 		cout<<temp->num;
 		q.pop();
 		if(temp->left!=NULL)
 		q.push(temp->left);
 		if(temp->right!=NULL)
 		q.push(temp->right);
	 }
 }
int main()
{
 char pr[26];    
 char in[26];
 cin>>pr;
 cin>>in;
 int len=strlen(pr);
 //cout<<len;
        //int len=cal(pr);
        //len=a.length();
        Node* root=rebuild(pr,in,len);
        //PreOrder(root);
        //cout<<endl;
        //InOrder(root);
        //cout<<endl;
        //PostOrder(root);
        //cout<<endl;
        LevelOrder(root);
        cout<<endl;
        return 0;
}

  

树的遍历

标签:order   string   ios   nod   clu   length   class   pac   struct   

原文地址:http://www.cnblogs.com/xlqtlhx/p/7572094.html

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