问题:产生一个int数组,长度为100,并向其中随机插入1-100,并且不能重复。对上面生成的数组排序,需要支持升序、降序两种顺序
public class RndNumber
{
int[] aRnd = null;
int iMax;
int iMin;
/// <summary>
/// Creates a new instance of RndNumber
/// </summary>
public RndNumber()
{
iMax = 100;
iMin = 0;
aRnd = new int[100];
for (int i = 0; i < 100; i++)
aRnd[i] = -1;
}
{
for (int i = 0; i < 100; i++)
{
int number = getRndNumber();
if (isExist(number))
i--;
else
aRnd[i] = number;
}
}
{
for (int i = 0; i < 100; i++)
if (number == aRnd[i]) return true;
return false;
}
{
Random rnd = new Random();
return rnd.Next(iMin, iMax);
}
感觉效率极低,可以改进的地方,思路如下:找到一个随机数,直接放到指定下标中,如,0放入aRnd[0]中,这样排序也省略了。
///排序待续