サイズ: 875
コメント:
|
サイズ: 1676
コメント:
|
削除された箇所はこのように表示されます。 | 追加された箇所はこのように表示されます。 |
行 17: | 行 17: |
a = next; | a = temp; |
行 19: | 行 19: |
---- === 例2 === 赤矢印でしめした位置に追加する場合。 |
|
行 20: | 行 23: |
追加したい位置の直前にあるオブジェクトを参照できなければなりません。 変数pがその位置を指しているとします。 |
|
行 21: | 行 27: |
pが指しているオブジェクトの直後に、 tempが示している1つのオブジェクトを追加する処理はこのように書けます。 {{{ temp.next = p.next; p.next = temp; }}} ---- === 例3 === 例2の処理はchainが沢山つながった途中をpが指している場合でも正しく動作します。 |
|
行 22: | 行 37: |
---- === オブジェクトをつなぐメソッド === {{{#!java public static void main(String[] args) { Chain a; ... a.add1(new Chain()); ... } }}} {{{#!java void add1(Chain c) { } }}} |
オブジェクトをつなぐメソッド
オブジェクトを沢山つなげることができました。
うまい方法を使うと、新しいオブジェクトを先頭に追加する方が楽にできます。
例1
変数aが、いくつかつながったオブジェクトを参照しており、 変数tempが1つのオブジェクトを参照している場合です。
赤矢印でしめしたようにつなぎ変えることで、1つのオブジェクトを追加できます。
この処理はこのように書けます。
temp.next = a; a = temp;
例2
赤矢印でしめした位置に追加する場合。
追加したい位置の直前にあるオブジェクトを参照できなければなりません。
変数pがその位置を指しているとします。
pが指しているオブジェクトの直後に、 tempが示している1つのオブジェクトを追加する処理はこのように書けます。
temp.next = p.next; p.next = temp;
例3
例2の処理はchainが沢山つながった途中をpが指している場合でも正しく動作します。