ループ条件内で、単一のリストをトラバースしている間に、temp!= NULLとtemp-next!= NULLの違いは何ですか?例単一のリストをトラバースする
while(temp != NULL)
{
......
......
}
と
while(temp->next != NULL)
{
......
......
}
のために私は2つの違いを理解していません。
ループ条件内で、単一のリストをトラバースしている間に、temp!= NULLとtemp-next!= NULLの違いは何ですか?例単一のリストをトラバースする
while(temp != NULL)
{
......
......
}
と
while(temp->next != NULL)
{
......
......
}
のために私は2つの違いを理解していません。
コンテキストから、この回答は、tempがリンクリストのノードであることを前提としています。
temp->next != NULL
は、tempの後にノードがある場合(つまり、tempがリストの最後のノードでない場合)にtrueを返します。例として、このリストを考えてみましょう。私たちはtemp = a->next
をすれば
a -> b -> c -> NULL
はその後、一時はBである、とtemp->next != NULL
は、c(ないNULL)ため、真と評価さBの後に来ます。
temp != NULL
は、temp自身がリスト内のノードである場合にtrueを返します。何らかの理由により、あなたがリストをあまりにも遠くまで横断してしまった場合、これは当てはまりません。上記と同じリストを使用:temp = c->next
を実行すると、temp != NULL
はfalseと評価されます。 TEMPはTEMP後ノードがNULL なるまで
while(temp->next != NULL)
が実行NULLになるまで
while(temp != NULL)...
は実行されます。次のようにリストとの間の差である、ということを理解