サイズ: 1676
コメント:
|
サイズ: 1676
コメント:
|
削除された箇所はこのように表示されます。 | 追加された箇所はこのように表示されます。 |
行 44: | 行 44: |
a.add1(new Chain()); | a.add0(new Chain()); |
行 50: | 行 50: |
void add1(Chain c) | void add0(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が指している場合でも正しく動作します。