> // 乱数
> Random rdm1 = new Random(unchecked((int)DateTime.Now.Ticks));
> // 元リストがなくなるまでループ
> while (listSrc.Count > 0) {
> int value = rdm1.Next(listSrc.Count);
> // 新リストへ追加
> listDst.Add(listSrc[value]);
> // 元リストから削除
> listSrc.RemoveAt(value);
> }
リスト二本も要らんかな。
for ( i = 0; i < N; ++i ) {
int value = i以上N未満の乱数。
i 番目と value 番目を交換
}
|