/************************************
--修改日期: 2009.5.26
--修改人: 吴强
--修改原因: 从前写的代码不够规范
--输入要求:
************************************/
#include
#include
//节点结构
typedef struct node
{
int iData;
struct node *pLchild;
struct node *pRchild;
}SNode;
main()
{
int x;
SNode *root;
//函数声名
void AddNode(int x, SNode **root);
void PutTree(SNode *root);
root= NULL;
scanf("%d", &x);
while (x>0)
{
AddNode(x, &root); //把数值添加到二叉树
scanf("%d",&x);
}
//中序遍历输出二叉树
PutTree(root);
}
void AddNode(int x, SNode **root)
{
if ( (*root) == NULL )
{
(*root)= (SNode *)malloc( sizeof(SNode) );
(*root)->iData= x;
(*root)->pLchild= NULL;
(*root)->pRchild= NULL;
}
else
{
if (x < (*root)->iData )
{
AddNode( x,&(*root)->pLchild );
}
else
{
AddNode( x,&(*root)->pRchild );
}
}
}
//中序遍历输出二叉树
void PutTree(SNode *r)
{
if ( r!= NULL )
{
PutTree( r->pLchild );
printf( "%d ",r->iData );
PutTree( r->pRchild );
}
}
排序二叉树
最新推荐文章于 2012-08-29 15:42:56 发布
6494

被折叠的 条评论
为什么被折叠?



