生成一个长度为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的随机数,然后插入的时候判断是否已经存在,在这里就不写了

posted @ 2014-03-11 14:39  贾锡安  阅读(882)  评论(0编辑  收藏  举报