<?xml version="1.0" encoding="utf-8"?><!DOCTYPE article  PUBLIC '-//OASIS//DTD DocBook XML V4.4//EN'  'http://www.docbook.org/xml/4.4/docbookx.dtd'><article><articleinfo><title>線形リストの操作</title><revhistory><revision><revnumber>11</revnumber><date>2010-12-01 00:32:32</date><authorinitials>masahiko</authorinitials></revision><revision><revnumber>10</revnumber><date>2010-11-29 13:19:28</date><authorinitials>masahiko</authorinitials></revision><revision><revnumber>9</revnumber><date>2010-11-29 13:18:44</date><authorinitials>masahiko</authorinitials></revision><revision><revnumber>8</revnumber><date>2010-11-29 01:20:12</date><authorinitials>masahiko</authorinitials></revision><revision><revnumber>7</revnumber><date>2010-11-29 01:08:02</date><authorinitials>masahiko</authorinitials></revision><revision><revnumber>6</revnumber><date>2010-11-28 13:06:48</date><authorinitials>masahiko</authorinitials></revision><revision><revnumber>5</revnumber><date>2010-11-28 13:06:07</date><authorinitials>masahiko</authorinitials></revision><revision><revnumber>4</revnumber><date>2010-11-28 13:02:26</date><authorinitials>masahiko</authorinitials></revision><revision><revnumber>3</revnumber><date>2010-11-28 12:46:47</date><authorinitials>masahiko</authorinitials></revision><revision><revnumber>2</revnumber><date>2010-11-28 12:45:41</date><authorinitials>masahiko</authorinitials></revision><revision><revnumber>1</revnumber><date>2010-11-28 12:44:35</date><authorinitials>masahiko</authorinitials></revision></revhistory></articleinfo><section><title>線形リストの操作</title><para>Chainクラスのインスタンスをつなぐことで、線形リストができました。 </para><itemizedlist><listitem override="none"><para><inlinemediaobject><imageobject><imagedata fileref="http://ei-www.hyogo-dai.ac.jp/~masahiko/moin.cgi/%E7%B7%9A%E5%BD%A2%E3%83%AA%E3%82%B9%E3%83%88%E3%81%AE%E6%93%8D%E4%BD%9C?action=AttachFile&amp;do=get&amp;target=chain1.png"/></imageobject><textobject><phrase>chain1.png</phrase></textobject></inlinemediaobject> </para></listitem><listitem override="none"><para><inlinemediaobject><imageobject><imagedata fileref="http://ei-www.hyogo-dai.ac.jp/~masahiko/moin.cgi/%E7%B7%9A%E5%BD%A2%E3%83%AA%E3%82%B9%E3%83%88%E3%81%AE%E6%93%8D%E4%BD%9C?action=AttachFile&amp;do=get&amp;target=chain2.png"/></imageobject><textobject><phrase>chain2.png</phrase></textobject></inlinemediaobject> </para></listitem><listitem override="none"><para><inlinemediaobject><imageobject><imagedata fileref="http://ei-www.hyogo-dai.ac.jp/~masahiko/moin.cgi/%E7%B7%9A%E5%BD%A2%E3%83%AA%E3%82%B9%E3%83%88%E3%81%AE%E6%93%8D%E4%BD%9C?action=AttachFile&amp;do=get&amp;target=chain42.png"/></imageobject><textobject><phrase>chain42.png</phrase></textobject></inlinemediaobject> </para></listitem></itemizedlist><!--rule (<hr>) is not applicable to DocBook--><section><title>追加のメソッド</title><para>変数aからいくつかのChainがつながっているときに </para><itemizedlist><listitem override="none"><screen><![CDATA[a.add(new Chain());]]></screen></listitem></itemizedlist><para>を行うと、図の位置に新しいインスタンスを追加することができました。 </para><itemizedlist><listitem override="none"><para><inlinemediaobject><imageobject><imagedata fileref="http://ei-www.hyogo-dai.ac.jp/~masahiko/moin.cgi/%E7%B7%9A%E5%BD%A2%E3%83%AA%E3%82%B9%E3%83%88%E3%81%AE%E6%93%8D%E4%BD%9C?action=AttachFile&amp;do=get&amp;target=chain50.png"/></imageobject><textobject><phrase>chain50.png</phrase></textobject></inlinemediaobject> </para></listitem></itemizedlist><!--rule (<hr>) is not applicable to DocBook--></section><section><title>削除のメソッド</title><para>変数aからいくつかのChainがつながっているときに </para><itemizedlist><listitem override="none"><screen><![CDATA[a.del();]]></screen></listitem></itemizedlist><para>を行うと、図の位置のインスタンスを除くことができました。 </para><itemizedlist><listitem override="none"><para><inlinemediaobject><imageobject><imagedata fileref="http://ei-www.hyogo-dai.ac.jp/~masahiko/moin.cgi/%E7%B7%9A%E5%BD%A2%E3%83%AA%E3%82%B9%E3%83%88%E3%81%AE%E6%93%8D%E4%BD%9C?action=AttachFile&amp;do=get&amp;target=chain52.png"/></imageobject><textobject><phrase>chain52.png</phrase></textobject></inlinemediaobject> </para></listitem></itemizedlist><!--rule (<hr>) is not applicable to DocBook--></section><section><title>追加、削除のメソッド</title><para>上で示した位置より後ろに追加したり、 後ろにあるインスタンスを削除する処理は、メソッドとして記述することができます。 </para><para>ところが、一番先頭にインスタンスを追加したり、 一番先頭のインスタンスを削除するためには、 変数aの値を変更しなければならないため、メソッドで行うことはできません。 </para><para>メソッドで修正可能な範囲を青で示します。 </para><itemizedlist><listitem override="none"><para><inlinemediaobject><imageobject><imagedata fileref="http://ei-www.hyogo-dai.ac.jp/~masahiko/moin.cgi/%E7%B7%9A%E5%BD%A2%E3%83%AA%E3%82%B9%E3%83%88%E3%81%AE%E6%93%8D%E4%BD%9C?action=AttachFile&amp;do=get&amp;target=chain51.png"/></imageobject><textobject><phrase>chain51.png</phrase></textobject></inlinemediaobject> </para></listitem></itemizedlist><para>先頭の１つのインスタンスを無視して（別のことに利用して）、 ２つ目以降だけを利用するようにすれば、 すべての処理をメソッドで行うことができます。 </para><para>先頭だけ特別で、２つめ以降に同じものがつながっている例 </para><itemizedlist><listitem override="none"><informaltable><tgroup cols="5"><colspec colname="col_0"/><colspec colname="col_1"/><colspec colname="col_2"/><colspec colname="col_3"/><colspec colname="col_4"/><tbody><row rowsep="1"><entry colsep="1" rowsep="1"><para>機関車</para></entry><entry colsep="1" rowsep="1"><para>客車</para></entry><entry colsep="1" rowsep="1"><para>客車</para></entry><entry colsep="1" rowsep="1"><para>客車</para></entry><entry colsep="1" rowsep="1"><para>客車</para></entry></row></tbody></tgroup></informaltable><informaltable><tgroup cols="5"><colspec colname="col_0"/><colspec colname="col_1"/><colspec colname="col_2"/><colspec colname="col_3"/><colspec colname="col_4"/><tbody><row rowsep="1"><entry colsep="1" rowsep="1"><para>表紙</para></entry><entry colsep="1" rowsep="1"><para>ページ</para></entry><entry colsep="1" rowsep="1"><para>ページ</para></entry><entry colsep="1" rowsep="1"><para>ページ</para></entry><entry colsep="1" rowsep="1"><para>ページ</para></entry></row></tbody></tgroup></informaltable></listitem></itemizedlist><!--rule (<hr>) is not applicable to DocBook--></section><section><title>前回作成したメソッド</title><para>次の３つのメソッドは青で囲んだ範囲の処理をするのに使えます。 </para><itemizedlist><listitem><para>add( Chain ) </para></listitem><listitem><para>del() </para></listitem><listitem><para>showContent() </para></listitem></itemizedlist></section></section></article>