2010年02月21日

番兵というテクニック  

   このエントリーをはてなブックマークに追加 mixiチェック Clip to Evernote
昨日、プログラム小品集に「最大面積の領域を求める」プログラムを載せましたが、 そこで、プログラミングテクニックの一つである番兵を使っています。
というか、以前このブログでも書いた、共通クラスであるBoardクラスで、 実際のボードの周りに番兵用のデータを置いています。
これのおかげで、


と書かなくてはいけないところで、


と書くことができます。
ちょっと違いが分かりにくいですが、Rangeメソッドの第2引数が違っています。
番兵が無いと、配列の範囲を超えないようにインデックスをインクリメント していく必要があります。
しかし、番兵があるおかげで、インデックスの範囲オーバーを気にせずに、 「黒石が続くあいだだけ繰り返す」という処理を書くことができます。

最近「番兵」という言葉を聞くこ/見ることがほとんどないので、ここにアップします。


 

この記事へのトラックバックURL

http://trackback.blogsys.jp/livedoor/gushwell/51976765
この記事へのトラックバック
番兵
番兵【R.Tanaka.Ichiro's Blog】at 2010年02月22日 14:39