C#實(shí)現(xiàn)對(duì)數(shù)組進(jìn)行隨機(jī)排序類實(shí)例
本文實(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ì)有所幫助。
- C#二維數(shù)組基本用法實(shí)例
- C#使用foreach語句遍歷二維數(shù)組的方法
- C#實(shí)現(xiàn)對(duì)二維數(shù)組排序的方法
- c#基礎(chǔ)之?dāng)?shù)組與接口使用示例(遍歷數(shù)組 二維數(shù)組)
- C#數(shù)組排序的兩種常用方法
- C# 數(shù)組查找與排序?qū)崿F(xiàn)代碼
- C#基礎(chǔ)之?dāng)?shù)組排序、對(duì)象大小比較實(shí)現(xiàn)代碼
- C#使用linq對(duì)數(shù)組進(jìn)行篩選排序的方法
- C#數(shù)組反轉(zhuǎn)與排序?qū)嵗治?/a>
- C#實(shí)現(xiàn)的二維數(shù)組排序算法示例
相關(guān)文章
基于WPF實(shí)現(xiàn)帶蒙版的MessageBox消息提示框
這篇文章主要介紹了如何利用WPF實(shí)現(xiàn)帶蒙版的MessageBox消息提示框,文中的示例代碼講解詳細(xì),對(duì)我們學(xué)習(xí)或工作有一定幫助,需要的可以參考一下2022-08-08C#跨PC遠(yuǎn)程調(diào)用程序并顯示UI界面
這篇文章主要為大家介紹了使用C#跨PC遠(yuǎn)程調(diào)用程序并顯示UI界面,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-05-05

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

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

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