2009/12/02(Wed) 11:30:20 編集(投稿者)
> どんな感じか教えていただけるとありがたいです。
いやだから No44185
# VBじゃダメすか?
using System;
class ShuffleDemo {
// x と y を交換する
static void Swap<T>(ref T x, ref T y) {
T t = x;
x = y;
y = t;
}
// data[] をかき混ぜる
static void Shuffle<T>(T[] data) {
Random rnd = new Random();
for ( int n = data.Length; n > 0; --n ) {
// "n未満の乱数"番目 と "n-1"番目とを入れ替える
Swap(ref data[rnd.Next(n)], ref data[n - 1]);
}
}
public static void Main() {
int[] data = new int[13];
// data[] を 1, 2, 3, ... 13 で埋める
for ( int i = 0; i < data.Length; ++i ) {
data[i] = i + 1;
}
// シャッフルシャッフルぅ
Shuffle(data);
// 結果の確認
foreach ( int item in data ) {
Console.Write("{0} ", item);
}
}
}