CH3COOH(酢酸)のさくっと393

VB.NET(VS2003)でお仕事中.Windows Mobile大好きです。

ホーム 連絡をする 同期する ( RSS 2.0 ) Login
投稿数  413  : 記事  0  : コメント  7803  : トラックバック  93

ニュース

CH3COOH(酢酸)の実験室 or SOFTBUILD

書庫

日記カテゴリ

7月7日は七夕でしたね。皆様、あまのじゃくは見れましたか?大阪はあいにくのお天気で見る事が出来ませんでした。
なんやらソート祭りの感がありますが、ソート済み配列をバラバラにしてみます。

その昔に、フィリピン大の学生にシャッフルするんだったら、こんな感じにしてみたらどう?って言われたのを思い出した。

結構前の事なので変に記憶していて、その子の意図と違うアルゴリズムと異なるかもしれないけど、
ソート済みのlistAをシャッフルしてlistBに突っ込むのをC#で書いてみた。

using System;
using System.Collections.Generic;
using System.Text;
namespace Shuffle
{
    class Program
    {
        /// <SUMMARY>
        /// ソート済み配列をシャッフルしる
        /// </SUMMARY>
        /// <PARAM name="data">ソート済み配列</PARAM>
        static void Shuffle(int[] srcList, int[] dstList)
        {
            Random rand = new Random();
            for (int i = 0; i &lt; srcList.Length; i++)
            {
                int r = rand.Next(i);
                if(r &lt; i)
                {
                    dstList[i] = dstList[r];
                    dstList[r] = srcList[i];
                }
                else
                {
                    dstList[i] = srcList[i];
                }
            } 
        }
        static void Main(string[] args)
        {
            int[] listA = new int[10];
            int[] listB = new int[10];
            // listAに数字を入れる
            for (int i = 0; i &lt; listA.Length; i++)
            {
                listA[i] = i;
            }
            // 混ぜる
            Shuffle(listA, listB);
            // listBの結果を出力する
            for (int i = 0; i &lt; listB.Length; i++)
            {
                Console.WriteLine(listB[i]);
            }
        }
    }
}

絵で描いたら、こんな感じかな?
random

投稿日時 : 2008年7月9日 0:15

コメント

# re: [C#]シャッフルさせてみたよ 2008/07/09 0:26 なにかと黒い龍
このフォントかわいいなぁw

# re: [C#]シャッフルさせてみたよ 2008/07/09 0:46 Streetw☆
前にとりこびとさんもShuffle作られてました。
http://torikobito.wankuma.com/ClassLibrary/SilverBouquet.Collections.Generic.ShufflableList.aspx
Shuffleのアルゴリズムにもやっぱり名前とかあるんですか?
きれいなフォント~(フォント?w)

# re: [C#]シャッフルさせてみたよ 2008/07/09 4:42 melt
FireFox2 で見てみると、<param> タグのおかげでものすごいことになっております……。

# re: [C#]シャッフルさせてみたよ 2008/07/09 8:35 Hirotow
ソースコードは実体参照変換位してから貼り付けてください、

# re: [C#]シャッフルさせてみたよ 2008/07/09 9:01 るーごん
残念ながら、あまのじゃく見れませんでした。あまのじゃくが見たいです。

# re: [C#]シャッフルさせてみたよ 2008/07/09 15:21 CH3COOH(酢酸)@モバイル
ほんとだ、FireFoxで見たら偉い事になってますね。WLWに一回ペーストしてからコピペしたのが悪かったのかも。帰宅したら修正しておきます!

# re: [C#]シャッフルさせてみたよ 2008/07/09 23:56 CH3COOH(酢酸)
修正しました。そっかー、<param>使うとおかしくなるんだ。勉強になりました。

Post Feedback

タイトル
名前
Url:
コメント