真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

二叉排序樹的查找

#include
#include
/*
遞歸前中后遍歷
*/
typedef struct node
{
  int data;
  struct node*left;
  struct node*right;
}BTnode;
BTnode*CreateTree(int a[],int n){
  BTnode*root,*c,*p,*pa;
  int i;
  root=(BTnode*)malloc(sizeof(BTnode));
  root->data=a[0];
  root->left=root->right=NULL;//建立根節(jié)點
  for(i=1;idata=a[i];
      p->left=p->right=NULL;
      c=root;              //根節(jié)點給C指針
    while(c)
	{                //判斷p結(jié)點時屬于左子樹還是右子樹
      pa=c;                //pa指針是p結(jié)點的父節(jié)點
      if(c->data>p->data)
         c=c->left;
      else
         c=c->right;
    }
    if(pa->data>p->data)  //p結(jié)點時父節(jié)點的左孩子還是右孩子
       pa->left=p;
    else
       pa->right=p;
  }
  return root;
}

BTnode * Query(BTnode *root,BTnode *parent,BTnode *p,int key)
{
	if(!root)
		p = parent;
		return NULL;
    if(root->data == key)
		p=root;
		return root;
	if(key data )
		return Query(root->left,root,p,key);
	if(key >root->data )
		return Query(root->right,root,p,key);
}
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*root;
	 int *a;
	 int n;
	 int i;
	 printf("請輸入n=");
	 scanf("%d",&n);
	 a=(int*)malloc(n*sizeof(int));
	 printf("請輸入數(shù)組a[]=");
	 for(i=0;idata);
}

文章名稱:二叉排序樹的查找
URL地址:http://weahome.cn/article/ijhopj.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部