还是被二叉搜索树难住了,结果出不来,求教各位大佬到底哪错了

这次是用插入法创建二叉搜索树

#include<stdio.h>
#include<stdlib.h>

int flag;

typedef int elemtype;

typedef struct B
{
    elemtype data;
    struct B *lchild,*rchild;
}BiTNode,*BiTree;

void Init_BST(BiTree *BST)
{
    *BST=NULL;
}


int Search_BST(BiTree *BST,BiTree *p,BiTree *q,elemtype key)
{
    //int flag=0;
    if(*BST==NULL)
        {
        return 0;
        }


    else if((*BST)->data ==key)
    {
        *q=*BST;
        return 1;
    }

    else if(key>(*BST)->data)
        {
        *p=*BST;
        Search_BST(&(*BST)->rchild,p,q,key);
        }

    else if(key<(*BST)->data)
        {
        *p=*BST;
        Search_BST(&(*BST)->lchild,p,q,key);
        }
}


int Insert_BST(BiTree *BST,elemtype key)
{
    //int flag=0;
    BiTree p,q,s;
    p=*BST;
    if(Search_BST(BST,&p,&q,key))
        {
        printf("¸Ãkey=%dÒÑ´æÔÚ\n",key); 
        flag=0;
        }

    else 
    {
        s=(BiTree)malloc(sizeof(BiTNode));
        s->data=key;
        s->lchild=s->rchild=NULL;
        if(p==NULL)
        {   
        *BST=s;
        }
        else if(key<p->data)
        {
            p->lchild=s;
        }
        else
        {
            p->rchild=s;
        }
        flag=1;
    }
    return flag;
}

int Create_BST(BiTree *BST,elemtype kx[],int n)
{
    for(int i;i<n;i++)
     {
     Insert_BST(BST,kx[i]);
     }
     return 1;
}

int main()
{
    BiTree BST;
    Init_BST(&BST);
    BiTree root=BST;
    int kx[5]={1,2,3,4,5};
    Create_BST(&BST,kx,5);
    printf("%d\n",root->data);
    return 0;
}

1个回答

检查一遍发现错的太多了,知道解决方案了

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问

相似问题

2
(C语言)在二叉搜索树的学习时遇到了问题,求大佬帮忙看看
0
输入字符串构建两个二叉搜索树
1
一个二叉排序树输出的问题
1
求教大佬们,这个“读取位置 0xCCCCCCCC 时发生访问冲突。”的异常该如何解决?
1
采用用户输入元素并基于前序遍历的方式创建一个存储人名的二叉链表树包含7个节点,用户输入两个人的姓名,比较这两个人的子孙谁多
1
如何用C语言编程分析高阶函数并有图像
1
假设一个图的边的权值都在1到n的整数范围内,如何设计出一种算法来找出这个图的最小生成树呢?
1
用DevC++,求二叉树叶结点个数,求不出来。不知道哪错了,求助大神!
0
广度优先搜索树 非连通图的遍历
1
求助,这个前台页面树形选择效果能用什么插件直接写吗
0
搜索二叉树的非递归中序遍历(使用栈),遇到错误:Segmentation fault: 11(mac系统,gcc编译)
0
如何把阿里域名解析到树莓派woncloud
2
二叉搜索树删除结点时指针问题(邓俊辉数据结构)
1
angular 8.0 项目中使用 this.router.navigate 报错:TypeError: Cannot read property 'navigate' of undefined ?
1
红黑树的根节点到其叶节点的黑色节点数量不相等
0
Matlab使用predict预测决策树报错No valid system or dataset was specified.怎么解决
1
C++快速排序与二分搜索的联合shi'yong
1
怎么结构不同的树,解开,然后从新组装成一个新的树??
2
树莓派使用 Adafruit 读取 DHT11 温湿度传感器读不出数据。