welcome: please sign in
location: "線形リスト"の差分
1と13のリビジョン間の差分 (その間の編集: 12回)
2009-10-23 06:02:07時点のリビジョン1
サイズ: 23
編集者: masahiko
コメント:
2009-11-05 04:19:54時点のリビジョン13
サイズ: 1471
編集者: masahiko
コメント:
削除された箇所はこのように表示されます。 追加された箇所はこのように表示されます。
行 1: 行 1:
== リスト処理 == ## page was renamed from リスト処理
== 線形リスト ==
線形リストは同じ形式のデータが一列に並んだものです。<<BR>>
データの追加や削除が配列と比べて楽に行えます。<<BR>>
Javaで記述してみましょう。
----
このようなインスタンスを使います。
 . {{attachment:list1.png}}
 . 1つ目の変数には値を保存します
 . 2つ目の変数には次の項目へのリンクを記入します。
3つのインスタンスをつないだ例を示します。
 . {{attachment:list2.png}}
 . これより先につながっていないことを、'''null'''という値で表します。
----
追加
 . {{attachment:list3.png}}
----
削除
 . {{attachment:list4.png}}
----
=== サンプル ===
値としてItemクラスのインスタンスを使った例です。
 . {{attachment:list5.png}}
 {{{#!java
 public class List1
 {
  Item val;
  List1 link;
  
  void dispList()
  {
   List1 x;
   
   x = this;
   while(x != null)
   {
    x.val.disp();
    x = x.link;
   }
  }
  
  public static void main(String[] args)
  {
   List1 a;
   List1 b;
   List1 c;
   
   a = new List1();
   a.val = new Food("パン", 150, 200.0, 200.0);
   b = new List1();
   a.link = b;
   b.val = new Drink("コーヒー", 120, 250);
   c = new List1();
   b.link = c;
   c.val = new Food("みかん", 100, 150.0, 200.0);
   
   a.dispList();
  }
 }
 }}}

線形リスト

線形リストは同じ形式のデータが一列に並んだものです。
データの追加や削除が配列と比べて楽に行えます。
Javaで記述してみましょう。


このようなインスタンスを使います。

  • [添付]

  • 1つ目の変数には値を保存します
  • 2つ目の変数には次の項目へのリンクを記入します。

3つのインスタンスをつないだ例を示します。

  • [添付]

  • これより先につながっていないことを、nullという値で表します。


追加

  • [添付]


削除

  • [添付]


サンプル

値としてItemクラスのインスタンスを使った例です。

  • [添付]

       1  public class List1
       2  {
       3         Item val;
       4         List1 link;
       5         
       6         void dispList()
       7         {
       8                 List1 x;
       9                 
      10                 x = this;
      11                 while(x != null)
      12                 {
      13                         x.val.disp();
      14                         x = x.link;
      15                 }
      16         }
      17         
      18         public static void main(String[] args)
      19         {
      20                 List1 a;
      21                 List1 b;
      22                 List1 c;
      23                 
      24                 a = new List1();
      25                 a.val = new Food("パン", 150, 200.0, 200.0);
      26                 b = new List1();
      27                 a.link = b;
      28                 b.val = new Drink("コーヒー", 120, 250);
      29                 c = new List1();
      30                 b.link = c;
      31                 c.val = new Food("みかん", 100, 150.0, 200.0);
      32                 
      33                 a.dispList();
      34         }
      35  }
    

線形リスト (最終更新日時 2010-11-29 13:13:10 更新者 masahiko)