遇到二叉树问题

时间:2015-11-30 22:05:52

标签: c

我无法在代码中弄清楚这个错误:

error: invalid operands to binary < (have ‘Flight’ and ‘NodeT’)
 if ( flight < *p)
             ^

我正在尝试创建二叉树并创建搜索:

NodeT *insertT(NodeT *p, Flight flight)
{

if ( p == NULL )
{
    p = malloc ( sizeof ( NodeT ) ) ;

    (p) -> pLeft = NULL ;
    (p) -> flight;
    (p) -> pRight = NULL ;
}
else/* search the node to which new node will be attached */

{
    /* if new data is less, traverse to left */
if ( flight < *p)
        insert ( &( (p) -> pLeft ), flight ) ;

else /* else traverse to right */

        insert ( &( (p) -> pRight ), flight ) ;
}



}  

我尝试过更改并调整节点。

1 个答案:

答案 0 :(得分:0)

您尝试比较两种不同的类型 - Flight flightNodeT *p

根据您的代码,您似乎需要更改

if (flight < *p)

if (flight < p->flight)