C#实现对数组进行随机排序类实例
本文实例讲述了C#实现对数组进行随机排序类。分享给大家供大家参考。具体如下:
这个一个扩充C#随机数发生器的类,可以随机生成指定范围的数字,可以随机对数组进行排序,非常好用
usingSystem;
namespaceDotNet.Utilities
{
///<summary>
///使用Random类生成伪随机数
///</summary>
publicclassRandomHelper
{
//随机数对象
privateRandom_random;
#region构造函数
///<summary>
///构造函数
///</summary>
publicRandomHelper()
{
//为随机数对象赋值
this._random=newRandom();
}
#endregion
#region生成一个指定范围的随机整数
///<summary>
///生成一个指定范围的随机整数,该随机数范围包括最小值,但不包括最大值
///</summary>
///<paramname="minNum">最小值</param>
///<paramname="maxNum">最大值</param>
publicintGetRandomInt(intminNum,intmaxNum)
{
returnthis._random.Next(minNum,maxNum);
}
#endregion
#region生成一个0.0到1.0的随机小数
///<summary>
///生成一个0.0到1.0的随机小数
///</summary>
publicdoubleGetRandomDouble()
{
returnthis._random.NextDouble();
}
#endregion
#region对一个数组进行随机排序
///<summary>
///对一个数组进行随机排序
///</summary>
///<typeparamname="T">数组的类型</typeparam>
///<paramname="arr">需要随机排序的数组</param>
publicvoidGetRandomArray<T>(T[]arr)
{
//对数组进行随机排序的算法:随机选择两个位置,将两个位置上的值交换
//交换的次数,这里使用数组的长度作为交换次数
intcount=arr.Length;
//开始交换
for(inti=0;i<count;i++)
{
//生成两个随机数位置
intrandomNum1=GetRandomInt(0,arr.Length);
intrandomNum2=GetRandomInt(0,arr.Length);
//定义临时变量
Ttemp;
//交换两个随机数位置的值
temp=arr[randomNum1];
arr[randomNum1]=arr[randomNum2];
arr[randomNum2]=temp;
}
}
#endregion
}
}
希望本文所述对大家的C#程序设计有所帮助。
热门推荐
10 诗词送行祝福语大全简短
11 新房开工吉日祝福语简短
12 50多岁生日简短祝福语
13 安徽疫情祝福语简短英语
14 农民朋友发财祝福语简短
15 对生活祝福语简短精辟
16 搬家词简短祝福语朋友
17 女神结婚快乐祝福语简短
18 文学短句祝福语大全简短