プログラムを作成し、チェーンテーブルにループがあるかどうかを判断します.
403 ワード
2つのポインタを使用して一方向チェーンテーブルを巡回し、最初のポインタP 1は、一歩ずつ歩きます.2番目のポインタP 2は、2ステップずつ歩く.P 2ポインタがP 1に追いつくとチェーンテーブルにループがあることを示します.
int testLinkRing(Link *head)
{
Link *t1=head;
Link *t2=head;
while(t1->next&&t2->next)
{
t1=t1->next;
if(t2->next->next==NULL)
return 0;//
if(t1==t2)
return 1;//
}
}