HWANGYUKAH
HWANGYUKAH
2019-06-01 22:46

菜鸟#c语言数据结构#二叉树

  • c语言

顺序存储的方式构造一颗排序树,但输出结果有误,不知如何下手

#include<stdio.h>
//
void createbtree(int *tree,int *data,int len)
{
    int i;
    int number;
    tree[1]=data[0];

    for(i=1;i<len;i++)
    {
        number=1;
        while(tree[number]!=0)
        {

            if(data[i]>tree[number])
            {
                number=2*number+1;
            }
            if(data[i]<tree[number])
            {
                number=2*number;
            }

        }
        tree[number]=data[i];
    }

}
//printf
void printf_btree(int *tree)
{
    int i;
    for(i=1;i<34;i++)
    {
        printf("%2d%8d\n",i,tree[i]);

    }
}
int main()
{
    int data[10]={6,5,9,4,7,3,2,8,1};
    int tree[34]={0};
    int len=10; 

    createbtree(tree,data,len);
    printf_btree(tree);

     return 0;
}

  • 点赞
  • 回答
  • 收藏
  • 复制链接分享

1条回答

为你推荐