欢迎来到.net学习网

欢迎联系站长一起更新本网站!QQ:879621940

您当前所在位置:首页 » C# » 正文

热门阅读

C#实现随机将1~10插入到数组中,且不能重复的示例

创建时间:2013年03月08日 15:00  阅读次数:(8844)
分享到:
思路:先将1~10按顺序插入到一个数组中,然后随机从数组中取出一个数,例如是5,将5插入到新的数组中,然后将10替换到5的位置,这时候,原数组中5就已经不存在了,原数组的值变为1,2,3,4,10,6,7,8,9,10。然后我们再从原数组中的前9个元素中随机取一个值,插入到新的数组中,例如是3,然后将9替换到3的位置。原数组就变为1,2,9,4,10,6,7,8,9,10。以此类推,我再从原数组中的前8个元素中随机取值,这样循环10次,新的数组就是我们想要的结果了。

完整代码如下:
//先声明一个数组,并将1~10按顺序插入到数组中。
int[] indexs = new int[10];
for (int i = 0; i < 10; i++)
{
    indexs[i] = i + 1;
}

//声明一个新数组,这个数组为我们的结果数组
int[] result = new int[10];
Random r = new Random();
int site = 10;//最大的索引位置
int rindex = 0;
for (int j = 0; j < 10; j++)
{
    //从0~最大的索引位置中取索引
    rindex = r.Next(0, site);
    //将随机索引的值插入到新的数组
    result[j] = indexs[rindex];
    //将原数组的rindex位置的值替换成原数组中最后一个值
    indexs[rindex] = indexs[site - 1];
    site--;
}

//输出结果
for (int i = 0; i < 10; i++)
{
    Console.WriteLine(result[i]);
}
p
来源:.net学习网
说明:所有来源为 .net学习网的文章均为原创,如有转载,请在转载处标注本页地址,谢谢!
【编辑:Wyf

打赏

取消

感谢您的支持,我会做的更好!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

最新评论

共有评论0条
  • 暂无任何评论,请留下您对本文章的看法,共同参入讨论!
发表评论:
留言人:
内  容:
请输入问题 97+12=? 的结果(结果是:109)
结  果: