
#include<stdio.h>
typedef struct bitnode{
int date
struct bitnode * lchild, *rchild
}bitnode,*bitree
int j=0
// 函数说明
bitree *createbitree(bitree *T)
int Qtraversebitree(bitree T)
int Ztraversebitree(bitree T)
int Htraversebitree(bitree T)
int Ftraversebitree(bitree T)
/*******************主函数****************************/
main()
{
bitree Tree,*T int k
do
{
printf("\n ╔-----------------------------------------------╗") //显示一个简易菜单
printf("\n ┆ 先序创建----1 先序遍历------2 ┆")
printf("\n ┆ 中序遍历----3 后序遍历------4 ┆")
printf("\n ┆ 叶子个数--- 5 退出程序------6 ┆")
printf("\n ╚-----------------------------------------------╝\n")
printf("请输入所要进行的 *** 作序号: ")
scanf("%d",&k) //接受用户的选择
switch(k) //接受用户的函数
{case 1: printf("左右子树为空时用0代替,用间隔符隔开:\n")
T=createbitree(&Tree)
break
case 2:Qtraversebitree(*T )
break
case 3:Ztraversebitree(*T )
break
case 4:Htraversebitree(*T )
break
case 5:printf("\n叶子个数为: %d\n",Ftraversebitree(*T ))
break
case 6:break
default:printf("错误选择!请重选\n")break
}
}while(k!=6) //直到i被赋值为6
return 0
}
/*******************创建二叉树函数****************************/
bitree *createbitree(bitree *T)
{
char ch
scanf("%d",&ch)
if(ch==0)
(*T)=NULL
else{
if(!((*T) =(bitnode *)malloc(sizeof(bitnode))))
exit(0)
(*T)->date = ch //生成根节点
createbitree(&(*T)->lchild)
createbitree(&(*T)->rchild)
}
return T
}
/*******************先序遍历函数****************************/
Qtraversebitree(bitree T)
{
if(T){printf("%d ",T->date)
if(Qtraversebitree(T->lchild))
if(Qtraversebitree(T->rchild)) return 1
return 0
}
else return 1
}
/*******************中序遍历函数****************************/
Ztraversebitree(bitree T)
{
if(T){if(Ztraversebitree(T->lchild))
printf("%d ",T->date)
if(Ztraversebitree(T->rchild)) return 1
return 0
}
else return 1
}
/*******************后序遍历函数****************************/
Htraversebitree(bitree T)
{
if(T){if(Htraversebitree(T->lchild))
if(Htraversebitree(T->rchild))
printf("%d ",T->date) return 1
return 0
}
else return 1
}
/******************返回叶子节点个数函数*************/
Ftraversebitree(bitree T)
{
if(T){if(!((T->lchild)||(T->rchild))) j++
if(Ftraversebitree(T->lchild))
if(Ftraversebitree(T->rchild)) return j
return j
}
else return j
}
绿色叶子的软件是《Snapseed》。
《Snapseed》免费提供,其新功能包括:新增“怀旧”滤镜、更新“相框”滤镜以及集成Google+。Snapseed是您日常处理相片的最佳应用程序。通过该应用程序,您指尖轻触即可轻松愉快地对相片加以美化。通过这款一流的数码相片处理软件,任何人均可轻松美化、转换和分享其相片。凭借Snapseed内置的Google+功能,您能够更方便地与亲朋好友分享相片。
Snapseed的特点:
1、轻轻一点“自动校正”即可自动调整您的相片。
2、使用“调整图像”将您的相片调整至尽善尽美。
3、使用“选择性调整”对相片的特定对象或区域加以美化。
4、提供各种有趣且极具新意的滤镜,例如“怀旧”、“戏剧”、“复古”、“杂质”以及“移轴”。
5、提供许多优质相框,可为美化相片起到画龙点睛的效果。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)