/************************************ --修改日期: 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 ); } }
排序二叉树
最新推荐文章于 2025-05-13 14:30:16 发布