我无法在我的代码中找出此错误:
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 ) ;
}
}
我尝试过更改和调整节点。
最佳答案
您正在尝试比较两种不同的类型-Flight flight
和NodeT *p
。
根据您的代码,您似乎需要进行更改
if (flight < *p)
至
if (flight < p->flight)
关于c - 遇到二叉树问题,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34008893/