资讯

精准传达 • 有效沟通

从品牌网站建设到网络营销策划,从策略到执行的一站式服务

二叉排序树创建(递归)

#include
#include
/*
递归前中后遍历
*/
typedef struct node
{
  int data;
  struct node*left;
  struct node*right;
}BTnode;
BTnode* CreateTree(BTnode* root,int x)
{
	if(!root)  //如果root结点为空,创建叶子结点
	{
		root = (BTnode*)malloc(sizeof(BTnode));
		root->data = x;
		root->left=root->right=NULL;
	}else
	{
		if(root->data>x) 
			root->left = CreateTree(root->left,x);  //递归调用左
		else if(root->dataright = CreateTree(root->right,x);//递归调用右
	}
	return root;
}
void Forder(BTnode*root)
{
  if(root)
  {
	  printf("%d",root->data);
	  printf("\n");
	  Forder(root->left);
	  Forder(root->right);
  }
}
void Inorder(BTnode*root)
{
  if(root)
  {
	  Inorder(root->left);
	  printf("%3d",root->data);
	  printf("\n");
	  Inorder(root->right);
  }
}
void Porder(BTnode*root)
{
  if(root)
  {
	  Porder(root->left);
	  Porder(root->right);
	  printf("%6d",root->data);
	  printf("\n");
	 
  }
}

int main(void)
{ 
 BTnode * head = NULL;
 int x;
 int n;
 int i;
 printf("请输入n=");
 scanf("%d",&n);
 printf("请输入二叉树的结点data\n");
 for(i=0;i            
            
                        
分享名称:二叉排序树创建(递归)
文章源于:http://cdkjz.cn/article/pgddoh.html
多年建站经验

多一份参考,总有益处

联系快上网,免费获得专属《策划方案》及报价

咨询相关问题或预约面谈,可以通过以下方式与我们联系

大客户专线   成都:13518219792   座机:028-86922220