いや、まだだから

やまだの仮想庭園 ~ いつか実体の伴う日まで

目次

Blog 利用状況

記事カテゴリ

書庫

日記カテゴリ

リンク

ループなしで、配列の順序を逆にする

祭じゃ祭じゃー、とむりやり参入してみるテスト。

やまだです。

もともとは「ループを使わずに配列の順序を逆にする。」というお題。

元ネタはこちら:
ホワイトボードプログラミング
反転...ですかー

とりあえず、反則っぽいけどインデクサ使ってやってみましたー。

まずはコード。

class ReverseIndexer {
    int[] array;
    int length;
    pubic ReverseIndexer(int[] originalArray) {
        array = originalArray;
        length = array.Length;
    }
    public int this[int i] {
        set { this.array[length - i -1] = value; }
        get { return this.array[length - i - 1]; }
    }
}

class Program {
    static void Main(string[] args) {
        int[] oldArray = new[] { 1, 2, 3, 4, 5 };
        ReverseIndexer newArray = new ReverseIndexer(oldArray);
        System.Console.Writeline(newArray[0]);
        System.Console.Writeline(newArray[1]);
        System.Console.Writeline(newArray[2]);
        System.Console.Writeline(newArray[3]);
        System.Console.Writeline(newArray[4]);
    }
}

IEnumerable なんか実装したりはしません。ループになるからw

で、このコードから

「配列の順序を逆に」というだけで、「逆の配列を用意しろ」なんて言ってないんじゃないの?

だったら、配列一式を最初から用意する必要なんてないよいよね。最初から一式揃えなくても、

必要なものを必要なときに手に入れられればいいという考え方があってもよいんじゃないかなー。

効率ばかり追い求めないで、遊び心を持つことも必要かも。そこから何かが生まれることもあるし。

という考えがあると思うか否かは読み手の自由です。 < をい!

少なくとも私から遊び心をとったら何も残らないような気がする :-P

では。

投稿日時 : 2010年3月5日 23:26

Feedback

# インデクサを使ったインデックスの変換 2010/03/08 18:18 R.Tanaka.Ichiro's Blog

インデクサを使ったインデックスの変換

タイトル
名前
Url
コメント