⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 rj_imp.h

📁 建立一棵二叉树
💻 H
字号:
#include"rj_adt.h"
BiTNode *creat_bt1()
 {
     BiTNode *t,*p,*v[20]; 
     int i,j; 
 	   Etype e; 
    /* 输入结点的序号i 、结点的数据e  */
     printf("\n i,data=?"); 
     scanf("%d%d",&i,&e);
     while(i!=0 && e!=0)              /* 当 i ,e都为0时,结束循环  */
      { 
      	 p=(BiTNode *)malloc(sizeof(BiTNode));
         p->data=e;
         p->lch=NULL;
         p->rch=NULL;
         v[i]=p;
          if (i==1)
          	    t=p;                      /* 序号为1的结点是根 */
	        else
	        	{ 
	        		   j=i/2;
		          if(i%2==0) 
		             v[j]->lch=p; /* 序号为偶数,做左孩子*/
		          else  
		        	   v[j]->rch=p;  /* 序号为奇数,做右孩子*/
	           }
         printf("\n i,data=?"); 
         scanf("%d%d",&i,&e);
       }
        return(t);
 } /* creat_bt1 */
void preorder(BiTNode *t)
{    
	  int top=0;
	  BiTNode *p,*s[20];
	  p=t;
	  do
	  { 
		   while(p!=0)
		    {
			     printf("%d\t",p->data);
		      if(p->rch!=0)
			    s[top++]=p->rch;
			    p=p->lch;
		    }
		  if(top>=0)
			p=s[--top];
	  }while(top>=0);
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -