不使用循环,如何创建一个长度为100的数组
展开全部
你这个问题有歧义诶,到底是 把数随机插入到数组中,还是 在数组中插入的1~100随机数
楼上是第一个,结果b数组值为1~100排序的数。
下面是第二个,结果数字是随机的,但插入是顺序插入的代码如下:
int[] arr = new int[100];
Random r = new Random(DateTime.Now.Millisecond);
for(int i=0;i<100;i++)
{
int temp = r.Next(1, 100);
while(true){
if (Array.IndexOf(arr, temp) == -1)
{
arr[i] = temp;
break;
}
else
{
temp = r.Next(1, 100);
}
}
System.Console.WriteLine(arr[i]);
}
System.Console.Read();
这个算法效率会有点低,为了防止重复,循环越到后面尝试的随机数会越来越多。
可以改为多创建一个值为1~100的数组,随机取里面的值放到新数组,然后删去,这个就自己去实现吧。
楼上是第一个,结果b数组值为1~100排序的数。
下面是第二个,结果数字是随机的,但插入是顺序插入的代码如下:
int[] arr = new int[100];
Random r = new Random(DateTime.Now.Millisecond);
for(int i=0;i<100;i++)
{
int temp = r.Next(1, 100);
while(true){
if (Array.IndexOf(arr, temp) == -1)
{
arr[i] = temp;
break;
}
else
{
temp = r.Next(1, 100);
}
}
System.Console.WriteLine(arr[i]);
}
System.Console.Read();
这个算法效率会有点低,为了防止重复,循环越到后面尝试的随机数会越来越多。
可以改为多创建一个值为1~100的数组,随机取里面的值放到新数组,然后删去,这个就自己去实现吧。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询