要求:一个数组,长度为100。随机产生1-100的随即数插入到数组中,数字不能有重复。如何实现?
实现的方法很多,自己也试着写了一个。代码如下:- static int[] GetNumbers()
- {
- int[] numbers = new int[100];
- //先取出数组
- for (int i = 1; i <= 100; i++)
- {
- numbers[i-1] = i;
- }
- //再进行随机排列
- Random ranom = new Random();
- for (int i = 0; i < 100; i++)
- {
- int position = ranom.Next(i, 100);//从数组中取i-99之间的一个随机索引
- int temp = numbers[i];
- numbers[i] = numbers[position];
- numbers[position] = temp;
- }
- return numbers;
- }
复制代码 大家都来试着写写,一起找更高效的算法。
|