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#法式設計有所贊助。