welcome: please sign in
location: "オブジェクトをつなぐメソッド"の差分
1と4のリビジョン間の差分 (その間の編集: 3回)
2010-11-22 06:54:50時点のリビジョン1
サイズ: 61
編集者: masahiko
コメント:
2010-11-22 07:10:31時点のリビジョン4
サイズ: 1326
編集者: masahiko
コメント:
削除された箇所はこのように表示されます。 追加された箇所はこのように表示されます。
行 3: 行 3:
オブジェクトを沢山つなげることができました。

うまい方法を使うと、新しいオブジェクトを先頭に追加する方が楽にできます。
----
=== 例1 ===
変数aが、いくつかつながったオブジェクトを参照しており、
変数tempが1つのオブジェクトを参照している場合です。
 . {{attachment:chain30.png}}
赤矢印でしめしたようにつなぎ変えることで、1つのオブジェクトを追加できます。
 . {{attachment:chain31.png}}
 . {{attachment:chain32.png}}
この処理はこのように書けます。
 {{{
temp.next = a;
a = temp;
 }}}
----
=== 例2 ===
赤矢印でしめした位置に追加する場合。
 . {{attachment:chain33.png}}
追加したい位置の直前にあるオブジェクトを参照できなければなりません。

変数pがその位置を指しているとします。
 . {{attachment:chain34.png}}
pが指しているオブジェクトの直後に、
tempが示している1つのオブジェクトを追加する処理はこのように書けます。
 {{{
temp.next = p.next;
p.next = temp;
----

 . {{attachment:chain35.png}}
 . {{attachment:chain36.png}}
 . {{attachment:chain37.png}}

オブジェクトをつなぐメソッド

オブジェクトを沢山つなげることができました。

うまい方法を使うと、新しいオブジェクトを先頭に追加する方が楽にできます。


例1

変数aが、いくつかつながったオブジェクトを参照しており、 変数tempが1つのオブジェクトを参照している場合です。

  • chain30.png

赤矢印でしめしたようにつなぎ変えることで、1つのオブジェクトを追加できます。

  • chain31.png

  • chain32.png

この処理はこのように書けます。

  • temp.next = a;
    a = temp;


例2

赤矢印でしめした位置に追加する場合。

  • chain33.png

追加したい位置の直前にあるオブジェクトを参照できなければなりません。

変数pがその位置を指しているとします。

  • chain34.png

pが指しているオブジェクトの直後に、 tempが示している1つのオブジェクトを追加する処理はこのように書けます。

オブジェクトをつなぐメソッド (最終更新日時 2010-11-24 00:58:06 更新者 masahiko)