标题:查找二叉树一个节点的左右子树
取消只看楼主
寻找梦想1
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2013-5-1
结帖率:50%
已结贴  问题点数:10 回复次数:0 
查找二叉树一个节点的左右子树
#include "stdio.h"
#include "stdlib.h"
int n=0;
int m=0;
typedef struct BiTNode
 {
   char data;
   BiTNode *Lchild,*Rchild; // 左右孩子指针
 }BiTNode,*BiTree;

void CreateBiTree(BiTree &T)
 {
   char ch;
   printf("输入结点值:\n");
   scanf("%c",&ch);
   getchar();
   
   if(ch=='0') // 空
     T=0;
   else
   {
     T=(BiTree)malloc(sizeof(BiTNode));
     T->Lchild=0;
     T->Rchild=0;
     if(!T)
       return;
     T->data=ch; // 生成根结点
     CreateBiTree(T->Lchild); // 构造左子树
     CreateBiTree(T->Rchild); // 构造右子树
   }
 }


void preorder (BiTNode *root)
 {//先序遍历root指向根的二叉树
          if (root!=0)   {
              printf("%c  ", root->data);//访问根结点,这里只是把根结点的值打印出来,
                                         //你可以做其它处理,比如修改、判别等。
              preorder(root->Lchild); //先序遍历根的左子树
              preorder(root->Rchild); //先序遍历根的右子树
          }//if
 }//preorder
void  chazhao(BiTNode *T,char x)
 {
   
    if(T->date==x)
    {
      n=T->Lchild;
      m=T->Rchild;
    }

   
        chazhao(T->Lchild,x);
        chazhao(T->Rchild,x);  
      //  if(num1!=0||num2!=0)   
        //    n++;
    //    return n;  
  }

 

void main()
{
    BiTNode *T;
    CreateBiTree(T);
    preorder(T);
    chazhao(T,'2');
    printf("\n%d\n%d",n,m);
   
}
搜索更多相关主题的帖子: 二叉树 左右 include return 
2013-05-23 21:42



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-407870-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 1.509885 second(s), 8 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved