首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

一题二叉树的程序题,该怎么处理

2012-03-11 
一题二叉树的程序题程序逐个输入整数,当输入的整数不是结尾标志-9999时,将其插入到二叉排序树中.若在插入

一题二叉树的程序题
程序逐个输入整数,当输入的整数不是结尾标志-9999时,将其插入到二叉排序树中.若在插入过程中发现该值结点二叉排序树中已经存在,则将重复度计入该结点的count记数中.直到全部输入结束.

#include <stdio.h>
#include <stdlib.h>
typedef   struct   Binary
{
          int   val,count;
          struct   Binary   *left   *right;
}Binary;

void   binaryTree(   Binary   **t,   int   data)
{
        Binary   *ptr,*p;
        int   d;
        p=NULL;
        ptr=_______(1)_______;
        while(_______(2)_______)
        {
                if(data   ==   ptr-> val)
                      _______(3)_______;
                else
                {
                      p=ptr;
                      ptr=_______(4)_______;
          }

        ptr   =   (Binary   *)malloc(sizeof(Binary));
        ptr-> right   =   ptr-> left   =   NULL;
        _______(5)_______;
        if(_______(6)_______)
              _______(7)_______   =   ptr;
        else   if(data   >   p-> val)
                  p-> right   =   ptr;
                  else
                  p-> left   =   ptr;
}
         
void   main()
{
      Binary   *root=NULL;
      int   d;
      scanf( "%d ",&d);
      while(d!=-9999)
      {
            binaryTree(_______(8)_______);
            scanf( "%d ",&d);
        }
}

[解决办法]
我的答案是(1)*t
(2)ptr!=NULL
(3)ptr-> count++;return;
(4)
(5)ptr-> val=data;
(6)*t ==NULL
(7)*t
(8)&root,d

热点排行