2
struct leaf
{
int data;
leaf *l;
leaf *r;
};
struct leaf *p;
void tree::findparent(int n,int &found,leaf *&parent)
這是BST的一段代碼。我想問一下。爲什麼C++指針參考混淆
leaf *&parent
爲什麼我們在這裏需要「引用標記」?
父母也是一片葉子,爲什麼我不能只用leaf* parent
?
以下代碼供您參考。謝謝!
void tree::findparent(int n,int &found,leaf *&parent)
{
leaf *q;
found=NO;
parent=NULL;
if(p==NULL)
return;
q=p;
while(q!=NULL)
{
if(q->data==n)
{
found=YES;
return;
}
if(q->data>n)
{
parent=q;
q=q->l;
}
else
{
parent=q;
q=q->r;
}
}
}
要添加:否則,將需要'** parent' – 2011-03-20 02:24:22
@布賴恩:代碼需要修改它之前被改變,也提領'parent'(一次)。 – Johnsyweb 2011-03-20 02:26:29
感謝Johnsyweb。 – user658266 2011-03-20 02:34:12