亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

C#實(shí)現(xiàn)對(duì)數(shù)組進(jìn)行隨機(jī)排序類實(shí)例

 更新時(shí)間:2015年03月25日 10:51:40   作者:feige  
這篇文章主要介紹了C#實(shí)現(xiàn)對(duì)數(shù)組進(jìn)行隨機(jī)排序類,實(shí)例分析了C#數(shù)組與隨機(jī)數(shù)操作技巧,非常具有實(shí)用價(jià)值,需要的朋友可以參考下

本文實(shí)例講述了C#實(shí)現(xiàn)對(duì)數(shù)組進(jìn)行隨機(jī)排序類。分享給大家供大家參考。具體如下:

這個(gè)一個(gè)擴(kuò)充C#隨機(jī)數(shù)發(fā)生器的類,可以隨機(jī)生成指定范圍的數(shù)字,可以隨機(jī)對(duì)數(shù)組進(jìn)行排序,非常好用

using System;
namespace DotNet.Utilities
{
  /// <summary>
  /// 使用Random類生成偽隨機(jī)數(shù)
  /// </summary>
  public class RandomHelper
  {
    //隨機(jī)數(shù)對(duì)象
    private Random _random;
    #region 構(gòu)造函數(shù)
    /// <summary>
    /// 構(gòu)造函數(shù)
    /// </summary>
    public RandomHelper()
    {
      //為隨機(jī)數(shù)對(duì)象賦值
      this._random = new Random();
    }
    #endregion
    #region 生成一個(gè)指定范圍的隨機(jī)整數(shù)
    /// <summary>
    /// 生成一個(gè)指定范圍的隨機(jī)整數(shù),該隨機(jī)數(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 生成一個(gè)0.0到1.0的隨機(jī)小數(shù)
    /// <summary>
    /// 生成一個(gè)0.0到1.0的隨機(jī)小數(shù)
    /// </summary>
    public double GetRandomDouble()
    {
      return this._random.NextDouble();
    }
    #endregion
    #region 對(duì)一個(gè)數(shù)組進(jìn)行隨機(jī)排序
    /// <summary>
    /// 對(duì)一個(gè)數(shù)組進(jìn)行隨機(jī)排序
    /// </summary>
    /// <typeparam name="T">數(shù)組的類型</typeparam>
    /// <param name="arr">需要隨機(jī)排序的數(shù)組</param>
    public void GetRandomArray<T>(T[] arr)
    {
      //對(duì)數(shù)組進(jìn)行隨機(jī)排序的算法:隨機(jī)選擇兩個(gè)位置,將兩個(gè)位置上的值交換
      //交換的次數(shù),這里使用數(shù)組的長度作為交換次數(shù)
      int count = arr.Length;
      //開始交換
      for (int i = 0; i < count; i++)
      {
        //生成兩個(gè)隨機(jī)數(shù)位置
        int randomNum1 = GetRandomInt(0, arr.Length);
        int randomNum2 = GetRandomInt(0, arr.Length);
        //定義臨時(shí)變量
        T temp;
        //交換兩個(gè)隨機(jī)數(shù)位置的值
        temp = arr[randomNum1];
        arr[randomNum1] = arr[randomNum2];
        arr[randomNum2] = temp;
      }
    }
    #endregion
  }
}

希望本文所述對(duì)大家的C#程序設(shè)計(jì)有所幫助。

相關(guān)文章

  • 自定義實(shí)現(xiàn)Json字符串向C#對(duì)象轉(zhuǎn)變的方法

    自定義實(shí)現(xiàn)Json字符串向C#對(duì)象轉(zhuǎn)變的方法

    自定義實(shí)現(xiàn)Json字符串向C#對(duì)象轉(zhuǎn)變的方法,需要的朋友可以參考一下
    2013-03-03
  • c#重寫TabControl控件實(shí)現(xiàn)關(guān)閉按鈕的方法

    c#重寫TabControl控件實(shí)現(xiàn)關(guān)閉按鈕的方法

    這是關(guān)于c#重寫TabControl控件實(shí)現(xiàn)關(guān)閉按鈕的例子,整理了一下,與大家分享。
    2013-04-04
  • 詳解C# Socket簡單例子(服務(wù)器與客戶端通信)

    詳解C# Socket簡單例子(服務(wù)器與客戶端通信)

    這篇文章主要介紹了詳解C# Socket簡單例子(服務(wù)器與客戶端通信) ,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下。
    2016-12-12
  • 用C#編寫ActiveX控件(一)

    用C#編寫ActiveX控件(一)

    用C#編寫ActiveX控件(一)...
    2007-03-03
  • 最新評(píng)論