生成一个长度为100的数组,为数组中的每一项随机填充1-100之间的数并且保证不重复

面试的时候常考

主要的思路是,先生成一个1到100的数组,然后在利用随机数,循环遍历数组将顺序打乱。。

 1 int[] arr = new int[100];
 2             for (int i = 0; i < 100; i++)
 3             {
 4                 arr[i] = i + 1;
 5             }
 6             for (int i = 0; i < 100; i++)
 7             {
 8                 Random rand = new Random(i);
 9                 int temp = 0;
10                 int r = rand.Next(0, 100);
11                 temp = arr[i];
12                 arr[i] = arr[r];
13                 arr[r] = temp;
14             }
View Code

当然也有其他的方法,比如从第一个开始插入,然后生成1到100的随机数,然后插入的时候判断是否已经存在,在这里就不写了

原文地址:https://www.cnblogs.com/jiaxa/p/3593902.html