JavaのLinkedListsリスト内の最後のノードをnullを含まずに最初のノードに設定する

私はリンクリストの最後のノードを変更し、リンクされたリストから最初のポインタを渡したときに null から最初のノードに変更するメソッドを書く方法を考えようとしています。

私はこれを試してエラーになった:

public void blah()

{

Node p = first;

while (p != null)

{

p = p.link;

}

p.x = p.first;
}
1
例外は何ですか?通常、問題の診断に役立ちます。
追加された 著者 Paul,
public void blah(){ノードp =最初; while(p!= null){p = p.link} p.x = p.first; }
追加された 著者 user1096713,

2 答え

これを試して:

public void blah()  {
    Node p = first;
    while (p.link != null) {
        p = p.link;
    }
    p.link = first;
}

右、それはあなたが意図し何、これは循環リストを作成することに注意してください?また、私は、<コード>は最初の <コード>何とか()はが存在するクラスの属性であると仮定しています。

2
追加された

これはあなたのために仕事をするでしょう。

public void blah(Node list){
   Node firstNode = list;
   while (list.link != null){
      list = list.link;
   }
   list.link = firstNode;
}

コードで使用した「最初の」参照は、そのメンバ変数を示しています。 JavaでSingly Linkedリストを詳しく読むには、このリンク

1
追加された