Here is a recursive definition of largest.
int largest(const Node* t)
{
if(t->right == NULL) return t->item;
else return largest(t->right);
}
Here is a definition of largest that uses a loop.
int largest(const Node* t)
{
const Node* p = t;
while(p->right != NULL) p = p->right;
return p->item;
}