###Javaでの配列の定義の仕方について
たとえばint型の配列を、全要素数9で定義するとき、
要素番号を08ではなく19で扱えるようにする方法は
ありませんか?要素数を10で定義して0番目をシカトしろとか
一休さんみたいな話じゃなくて。
数独解析のプログラムを書こうとしているのですが、
あるマスに数字を埋めることが可能かを判断するための
フラグ配列を定義する必要があります。数独は1~9の
いずれかの数字を埋めるパズルですが、例えばあるマスには
8の数字を埋めることができない場合、8に該当するフラグを
ONにするというやり方にしようと考えています。
9つの数字についてフラグを用意する場合、
9つの要素数を持つ配列を用意するという発想になったんですが、
その場合0~8の要素番号で扱える配列になります。
この場合、8に該当するフラグならば要素番号が7のように、
数字をnとすると配列の要素番号は(n - 1)になります。
じゃあそう書けよって言われそうですが、
他人が見た時、ソースを編集するときに
数字がnのときは要素番号もnといった対応のほうが
わかりやすいと思うんです。
これを実現しようとすると配列を10で定義して
要素番号を0~9として扱えますが、最初の要素番号0の
メモリ領域が無駄になります。別に無駄になっても
影響はないと言えばないです。ただ、無駄にしなくても
いい方法があるなら知ってみたいなと思ったので。
C言語であればマクロで解決できる問題です。
例 : #define STATUS_NUMBER( ROW, COL, NUM ) array[ ( ROW - 1 ) ][ ( COL - 1 ) ][ ( NUM - 1 ) ]
回答5件
あなたの回答
tips
プレビュー