您的位置:首页 > 其它

2014-05-07 07:17 411 查看
#include<stdio.h>

#include<stdlib.h>

struct ele

{

int value;

ele* left;

ele* right;

};

void build(ele *&p)

{

int n;

scanf("%d",&n);

if(n==0)

p=NULL;

else

{

p=(ele*)malloc(sizeof(ele));

p->value=n;

build(p->left);

build(p->right);

}

}

void search(ele*&p)

{

if(p==NULL)

return;

else

{

printf("%d
",p->value);

search(p->left);

search(p->right);

}

}

int sum(ele *&p)

{

if(p==NULL)

return 0;

else

{

int m,n;

m=sum(p->left);

n=sum(p->right);

if(m>n)

return m+1;

return n+1;

}

}

int countsum(ele*&p)

{

if(p==NULL)

return 0;

else

return countsum(p->left)+countsum(p->right)+1;

}

int main()

{

ele *p;

build(p);

search(p);

printf("%d\n",sum(p));

printf("%d\n",countsum(p));

return 0;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: