C#實現(xiàn)對數(shù)組進行隨機排序類實例
更新時間:2015年03月25日 10:51:40 作者:feige
這篇文章主要介紹了C#實現(xiàn)對數(shù)組進行隨機排序類,實例分析了C#數(shù)組與隨機數(shù)操作技巧,非常具有實用價值,需要的朋友可以參考下
本文實例講述了C#實現(xiàn)對數(shù)組進行隨機排序類。分享給大家供大家參考。具體如下:
這個一個擴充C#隨機數(shù)發(fā)生器的類,可以隨機生成指定范圍的數(shù)字,可以隨機對數(shù)組進行排序,非常好用
using System; namespace DotNet.Utilities { /// <summary> /// 使用Random類生成偽隨機數(shù) /// </summary> public class RandomHelper { //隨機數(shù)對象 private Random _random; #region 構造函數(shù) /// <summary> /// 構造函數(shù) /// </summary> public RandomHelper() { //為隨機數(shù)對象賦值 this._random = new Random(); } #endregion #region 生成一個指定范圍的隨機整數(shù) /// <summary> /// 生成一個指定范圍的隨機整數(shù),該隨機數(shù)范圍包括最小值,但不包括最大值 /// </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的隨機小數(shù) /// <summary> /// 生成一個0.0到1.0的隨機小數(shù) /// </summary> public double GetRandomDouble() { return this._random.NextDouble(); } #endregion #region 對一個數(shù)組進行隨機排序 /// <summary> /// 對一個數(shù)組進行隨機排序 /// </summary> /// <typeparam name="T">數(shù)組的類型</typeparam> /// <param name="arr">需要隨機排序的數(shù)組</param> public void GetRandomArray<T>(T[] arr) { //對數(shù)組進行隨機排序的算法:隨機選擇兩個位置,將兩個位置上的值交換 //交換的次數(shù),這里使用數(shù)組的長度作為交換次數(shù) int count = arr.Length; //開始交換 for (int i = 0; i < count; i++) { //生成兩個隨機數(shù)位置 int randomNum1 = GetRandomInt(0, arr.Length); int randomNum2 = GetRandomInt(0, arr.Length); //定義臨時變量 T temp; //交換兩個隨機數(shù)位置的值 temp = arr[randomNum1]; arr[randomNum1] = arr[randomNum2]; arr[randomNum2] = temp; } } #endregion } }
希望本文所述對大家的C#程序設計有所幫助。
相關文章
基于WPF實現(xiàn)帶蒙版的MessageBox消息提示框
這篇文章主要介紹了如何利用WPF實現(xiàn)帶蒙版的MessageBox消息提示框,文中的示例代碼講解詳細,對我們學習或工作有一定幫助,需要的可以參考一下2022-08-08c#重寫TabControl控件實現(xiàn)關閉按鈕的方法
這是關于c#重寫TabControl控件實現(xiàn)關閉按鈕的例子,整理了一下,與大家分享。2013-04-04