C#完成對數組停止隨機排序類實例。本站提示廣大學習愛好者:(C#完成對數組停止隨機排序類實例)文章只能為提供參考,不一定能成為您想要的結果。以下是C#完成對數組停止隨機排序類實例正文
本文實例講述了C#完成對數組停止隨機排序類。分享給年夜家供年夜家參考。詳細以下:
這個一個擴大C#隨機數產生器的類,可以隨機生成指定規模的數字,可以隨機對數組停止排序,異常好用
using System;
namespace DotNet.Utilities
{
/// <summary>
/// 應用Random類生成偽隨機數
/// </summary>
public class RandomHelper
{
//隨機數對象
private Random _random;
#region 結構函數
/// <summary>
/// 結構函數
/// </summary>
public RandomHelper()
{
//為隨機數對象賦值
this._random = new Random();
}
#endregion
#region 生成一個指定規模的隨機整數
/// <summary>
/// 生成一個指定規模的隨機整數,該隨機數規模包含最小值,但不包含最年夜值
/// </summary>
/// <param name="minNum">最小值</param>
/// <param name="maxNum">最年夜值</param>
public int GetRandomInt(int minNum, int maxNum)
{
return this._random.Next(minNum, maxNum);
}
#endregion
#region 生成一個0.0到1.0的隨機小數
/// <summary>
/// 生成一個0.0到1.0的隨機小數
/// </summary>
public double GetRandomDouble()
{
return this._random.NextDouble();
}
#endregion
#region 對一個數組停止隨機排序
/// <summary>
/// 對一個數組停止隨機排序
/// </summary>
/// <typeparam name="T">數組的類型</typeparam>
/// <param name="arr">須要隨機排序的數組</param>
public void GetRandomArray<T>(T[] arr)
{
//對數組停止隨機排序的算法:隨機選擇兩個地位,將兩個地位上的值交流
//交流的次數,這裡應用數組的長度作為交流次數
int count = arr.Length;
//開端交流
for (int i = 0; i < count; i++)
{
//生成兩個隨機數地位
int randomNum1 = GetRandomInt(0, arr.Length);
int randomNum2 = GetRandomInt(0, arr.Length);
//界說暫時變量
T temp;
//交流兩個隨機數地位的值
temp = arr[randomNum1];
arr[randomNum1] = arr[randomNum2];
arr[randomNum2] = temp;
}
}
#endregion
}
}
願望本文所述對年夜家的C#法式設計有所贊助。