首页 新闻 会员 周边

怎么随机打乱一个集合里面的数据的顺序重新组合

0
悬赏园豆:10 [已解决问题] 解决于 2009-12-31 15:11

怎么随机打乱一个集合里面的数据的顺序重新组合

拖鞋王子的主页 拖鞋王子 | 初学一级 | 园豆:37
提问于:2009-12-30 14:57
< >
分享
最佳答案
0

我写的一个随意打乱字符串顺序的例子,希望对你有所启示

private string CharRandom(string input)
        {
            //字符串中字符长度
            int len = input.Length;
            //将字符串转换为字符数组
            char[] chs=input.ToCharArray();
            //用来保存字符数组下标
            List<int> indexes = new List<int>();

    //保存新字符串作为返回结果
            string result = "";
            for (int i = 0; i < len; i++)
                indexes.Add(i);
            Random rd = new Random(0);
            while (len > 0)
            {
                int ranNum = rd.Next(len);
                //随机生成一个数字,然后取该数字作为字符数组下标,将该位置的字符取出放到新字符串中
                result += chs[indexes[ranNum]].ToString();
                //字符数组下标中排除已经使用过的下标
                indexes.Remove(indexes[ranNum]);
                len--;
            }
            return result;
        }

收获园豆:5
Tom-X | 小虾三级 |园豆:515 | 2009-12-30 16:06
其他回答(2)
0

搞个随机函数进行重新组合数组 ;、

简单的说就是在copy 数组的过程中给序号加上随机值

飞飞cq | 园豆:193 (初学一级) | 2009-12-30 15:00
0

写个循环,第i个换成第Ran个

如:Array[i]=Array[RanNum] 又快又好,我排过考场号

收获园豆:5
火凤凰工作室 | 园豆:213 (菜鸟二级) | 2009-12-30 19:24
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册