在二叉搜索树的以下代码中:
template <class TKey>
class bst<TKey>::node *bst<TKey>::insert(node *T, TKey &key)
{
if (T == NULL) {
T = new node;
T->key = key;
} else if (T->key == key) {
cout << "key " << key << " already in tree" << endl;
} else {
int dir = T->key < key;
T->link[dir] = insert(T->link[dir], key);
}
return T;
}
我很困惑是什么线
int dir = T->key < key;
是在做。我可以理解“int dir = T->key”,虽然这当然没有意义,但我以前没有见过以这种方式使用的“<”运算符。有什么线索吗?