2

私は単一のリンクリストを持っています。単一のリンクされたリストの最後のノードが null ではなく、リスト内の任意のノードを NULL ではなく指していると仮定します (つまり、そうではないことを意味します'\0')。したがって、リンクされたリストはループしましたが、最初のノードを指していません。リンクされたリストの最後のノードを見つけたい。この問題を解決するためのアルゴリズムを提案してもらえますか?

4

3 に答える 3

0

あなたの質問を正しく理解できれば。最後のポインタが前のエントリを指しているリンクリストがあります

This     Next      Etc.
   1        2      xxxx
   2        3      xxxxx
   3        4
   4        5
   6        3

したがって、すでにアクセスしたエントリのテーブルを保持する必要があります。すでにテーブルにある「次の」値を見つけた場合、現在のエントリはリストの実際の最後のエントリです。

すなわち

do forever
   visited[This] = "Y";
   move to Next
   if visited[Next] == "Y" 
      exit loop
   next;
于 2013-07-26T06:30:55.220 に答える