亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > C# > 正文

C#中生成隨機不重復數列的算法

2023-05-16 12:36:01
字體:
來源:轉載
供稿:網友

給定一個正整數n,需要輸出一個長度為n的數組,數組元素是隨機數,范圍為0 – n-1,且元素不能重復。比如 n = 3 時,需要獲取一個長度為3的數組,元素范圍為0-2;簡單的理解就是生成一個無序的隨機數組。

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

namespace RandomNumber

{

    class Program

    {

        static void Main(string[] args)

        {

            //初始化一個數組,如果數組沒有賦值,默認是0

            //int[] arr = SolveProblemWayOne(5);

            //int[] arr = SolveProblemWaySecond(5);

            //int[] arr = SolveProblemWayThird(10);

            int[] arr = SolveProblemWayFour(5);

            for (int i = 0; i < arr.Length; i++)

            {

                Console.Write("{0,5}", arr[i].ToString());

            }

            Console.ReadKey();

        }

        /// <summary>

        /// 循環判斷隨機出來的數字是否在數組中

        /// </summary>

        /// <param name="total"></param>

        /// <returns></returns>

        public static int[] SolveProblemWayOne(int count)

        {

            List<int> resultList = new List<int>();

            Random random = new Random();

            for (int i = 0; i < count; i++)

            {

                int number = random.Next(1, count + 1);

                while (resultList.Contains(number))

                {

                    number = random.Next(1, count + 1);

                }

                resultList.Add(number);

            }

            return resultList.ToArray();

        }

        /// <summary>

        /// 按照順序生成一個數組

        /// </summary>

        /// <param name="total"></param>

        /// <returns></returns>

        public static int[] SolveProblemWaySecond(int count)

        {

            List<int> orignalList = new List<int>();

            List<int> resultList = new List<int>();

            for (int i = 0; i < count; i++)

            {

                orignalList.Add(i);

            }

            int maxIndex = count;

            Random random = new Random();

            for (int i = 0; i < count; i++)

            {

                //隨機索引

                int index = random.Next(0, maxIndex);

                resultList.Add(orignalList[index]);

                orignalList.RemoveAt(index);

                maxIndex--;

            }

            return resultList.ToArray();

        }

        /// <summary>

        /// 不刪除數據,然后的問題就是給最后的東西賦值

        /// </summary>

        /// <param name="count"></param>

        /// <returns></returns>

        public static int[] SolveProblemWayThird(int count)

        {

            List<int> orignalList = new List<int>();

            List<int> resultList = new List<int>();

            for (int i = 0; i < count; i++)

            {

                orignalList.Add(i);

            }

            int minIndex = 0;

            Random random = new Random();

            for (int i = 0; i < count; i++)

            {

                //隨機索引

                int index = random.Next(minIndex, count);

                resultList.Add(orignalList[index]);

                //交換,由于索引自減,不需要將隨機的值賦值到最后

                //int temp = orignalList[index];

                orignalList[index] = orignalList[minIndex];

                //orignalList[minIndex] = temp;

                minIndex++;

            }

            return resultList.ToArray();

        }

        /// <summary>

        /// 簡潔方式

        /// </summary>

        /// <param name="count"></param>

        /// <returns></returns>

        public static int[] SolveProblemWayFour(int count)

        {

            List<int> resultList = new List<int>();

            for (int i = 0; i < count; i++)

            {

                resultList.Add(i);

            }

            int minIndex = 0;

            Random random = new Random();

            for (int i = 0; i < count; i++)

            {

                //隨機索引

                int index = random.Next(minIndex, count);

                //頭部交換

                int temp = resultList[index];

                resultList[index] = resultList[minIndex];

                resultList[minIndex] = temp;

                minIndex++;

            }

            return resultList.ToArray();

        }

    }

}

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美久久精品一级黑人c片| 欧美性生活大片免费观看网址| 国产欧美一区二区白浆黑人| 91午夜在线播放| 中文字幕一精品亚洲无线一区| 欧美区在线播放| 色久欧美在线视频观看| 日韩成人在线免费观看| 亚洲国产成人av在线| 亚洲欧美日韩在线高清直播| 欧美视频在线观看免费网址| 日韩精品在线观看一区| 国产精品www| 91精品一区二区| 91久久久久久国产精品| 91久久久久久国产精品| 日韩高清电影免费观看完整| 国产一区二区三区视频免费| 国产丝袜精品第一页| 日韩av在线播放资源| 亚洲jizzjizz日本少妇| 日本道色综合久久影院| 久久999免费视频| 国产亚洲a∨片在线观看| 国产精品久久久久久网站| 欧美精品福利视频| 黄色一区二区三区| 色老头一区二区三区在线观看| 亚洲大胆美女视频| 日韩成人激情视频| 91国偷自产一区二区三区的观看方式| 992tv成人免费视频| 成人妇女淫片aaaa视频| 色婷婷综合成人av| 欧美在线日韩在线| 国内精品美女av在线播放| 欧美极品美女电影一区| 亚洲自拍高清视频网站| 欧美激情国产精品| 亚洲精品视频免费在线观看| 欧美日韩成人在线视频| 欧美国产一区二区三区| 亚洲欧美日韩中文在线制服| 久久99青青精品免费观看| 美女国内精品自产拍在线播放| 91精品视频专区| 在线电影欧美日韩一区二区私密| 91在线高清免费观看| 在线视频欧美日韩| 国产精品一区二区久久久| 日本久久91av| 色婷婷亚洲mv天堂mv在影片| 4438全国亚洲精品在线观看视频| 日韩精品在线视频| 欧美老女人xx| 成人av电影天堂| 国产精品扒开腿爽爽爽视频| 亚洲激情视频网| 欧美第一淫aaasss性| 成人黄色片网站| 色综合久久中文字幕综合网小说| 国产精品一区久久久| 尤物yw午夜国产精品视频| 欧美激情在线一区| 中日韩美女免费视频网址在线观看| 久久免费国产精品1| 2019av中文字幕| 3344国产精品免费看| 日韩精品在线视频| 7m精品福利视频导航| 亚洲人成毛片在线播放| 中文字幕一区电影| 日韩精品在线视频观看| 国产精品人成电影| 国产精品久久久久9999| 亚洲无限av看| 亚洲人成电影在线观看天堂色| 欧美电影在线免费观看网站| 亚洲在线一区二区| 久久精品视频网站| 欧美一区二区三区免费视| 国产精品青草久久久久福利99| 久久久久久999| 欧美日韩福利电影| 欧美电影《睫毛膏》| 91国内免费在线视频| 久久久久亚洲精品国产| 亚洲精品久久久久中文字幕欢迎你| 久久久亚洲欧洲日产国码aⅴ| 亚洲a成v人在线观看| 亚洲精品色婷婷福利天堂| 亚洲黄色www网站| 91丨九色丨国产在线| 国产精品h片在线播放| 国产亚洲一区二区精品| 日韩在线中文字| 亚洲欧美制服综合另类| 亚洲最大的成人网| 91情侣偷在线精品国产| 宅男66日本亚洲欧美视频| 97香蕉超级碰碰久久免费软件| 国产精品美女免费看| 久久久中精品2020中文| 91av在线免费观看视频| 亚洲精品综合精品自拍| 亚洲欧美激情精品一区二区| 海角国产乱辈乱精品视频| 亚洲福利精品在线| 日韩欧美在线免费观看| 91九色单男在线观看| 国产视频自拍一区| 国产一区av在线| 国产偷亚洲偷欧美偷精品| 欧美性一区二区三区| 久久精品视频免费播放| 亚洲精品v天堂中文字幕| 一区二区三区亚洲| 欧美成人精品在线| 久久综合五月天| 欧美国产第一页| 中文字幕av一区中文字幕天堂| 国产精品h在线观看| …久久精品99久久香蕉国产| 亚洲精品一区二区在线| 伊人伊成久久人综合网站| 亚洲午夜精品久久久久久久久久久久| 欧美精品videofree1080p| 欧美激情视频一区二区三区不卡| 日韩精品亚洲视频| 亚洲欧美在线第一页| 韩国19禁主播vip福利视频| 日韩中文第一页| 色偷偷噜噜噜亚洲男人的天堂| 久久久精品在线| 欧美一级电影免费在线观看| 国产欧美日韩精品丝袜高跟鞋| 九九精品在线视频| 97视频在线观看免费高清完整版在线观看| 日韩欧美一区二区在线| 中文字幕欧美国内| 超碰91人人草人人干| 亚洲天堂成人在线| 欧美成人小视频| 精品无人区太爽高潮在线播放| 理论片在线不卡免费观看| 91欧美日韩一区| 国产精品久久久久久久久久三级| 欧美二区乱c黑人| 亚洲最大的av网站| 精品久久久久久久久久久久久| 成人伊人精品色xxxx视频| 国产丝袜精品第一页| 欧美激情中文字幕在线| 亚洲国产精品va在线观看黑人| 精品久久中文字幕久久av| 亚洲精品理论电影| 精品美女国产在线| 亚洲精品福利免费在线观看| 久久影视电视剧免费网站| 国产午夜一区二区| 欧美成人精品h版在线观看| 岛国av一区二区| 欧美做爰性生交视频| 亚洲国产成人爱av在线播放|