gj.c

来自「几种排序算法的C语言实现 用函数实现如下算法: (1) 直接插入排序, 希尔」· C语言 代码 · 共 59 行

C
59
字号
用函数实现如下算法:
(1)	建立二叉排序树(或插入新结点)
(2)	插入、删除结点
(3)	前序、中序、后序、层次遍历二叉树
(4)	中序遍历的非递归算法
(5)	在二叉树中查找给定关键字
(6)	交换各结点的左右子树
(7)	求二叉树的深度、叶子结点树
(8)	输出树型结构


void creatbtree(int *btree,int *nodelist,int len)
{
 int i;
 int level;

 btree[1]=nodelist[1];
 for(i=2;i<=len;i++)
    {
     level=1;
     while(!btree[level])
	  {
	   if(nodelist[i]<btree[level])
	     level=level*2;
	   else
	       level=level*2+1;
	  }
     btree[level]=nodelist[i];
    }
}

void main()
{
 int i,index;
 int data;
 int btree[16];
 int nodelist[16];

 printf("\nPlease input the elements of binary tree(Exit for 0):\n");
 index=1;

 scanf("%d",&data);
 while(!data)
      {
       nodelist[index]=data;
       index++;
       scanf("%d",&data);
      }

 for(i=1;i<16;i++)
    btree[i]=0;

 creatbtree(btree,nodelist,index);

 printf("\nThe bianry tree is:\n");
 for(i=1;i<16;i++)
    printf("%2d":[%d]  ",i,btree[i]);
}
 

⌨️ 快捷键说明

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