二叉树排序树的创建

Posted lu20191227

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了二叉树排序树的创建相关的知识,希望对你有一定的参考价值。

 

 

 _declspec(dllexport)    Node::TNODE* create_binary_sort_tree(Node::RECORD TEST[], int maxlen);             //二叉排序树的创建

Node::TNODE* tree::create_binary_sort_tree(Node::RECORD TEST[], int maxlen)                   //二叉排序树的创建
{
    int i;
    Node::TNODE *head, *s, *p, *q;
    head = NULL;
    for (i = 0; i < maxlen; i++)
    {

        s = (Node::TNODE*)malloc(sizeof(Node::TNODE));
        s->lchild = NULL;
        s->rchild = NULL;
        s->data = TEST[i].k;
        if (head == NULL)
            head = s;
        else
        {
            p = head;
            q = p;
            while (p != NULL)
            {
                q = p;
                if (p->data > s->data)
                    p = p->lchild;
                else
                    p = p->rchild;
            }
            if (q->data > s->data)
                q->lchild = s;
            else
                q->rchild = s;
        }
    }
        return head;

以上是关于二叉树排序树的创建的主要内容,如果未能解决你的问题,请参考以下文章