没有递增和降序的随机数

时间:2018-06-19 08:25:17

标签: c# unity3d random

我遇到了一个生成不重复数字的方法的问题。一切都很顺利,但我永远不会想得到如下结果: 1,2,3,4或4,3,2,1。我们的想法是不按升序或降序接收数字。

以下是有人可以帮助我的方法。谢谢!

public static List<int> GenerateNumbers(int mn, int mx)
{
    List<int> source = new List<int>();
    for (int i = mn; i <= mx; i++)
        source.Add(i);
    List<int> randomNumbers = new List<int>();
    while (source.Count != 0)
    {
        int randomIndex = UnityEngine.Random.Range(0, source.Count - 1);
        randomNumbers.Add(source[randomIndex]);
        source.RemoveAt(randomIndex);
    }
    return randomNumbers;
}

public static bool IsSorted(List<int> arr)
{
    for(int i=0;i<arr.Count - 1; i++)
    {
        if (arr[i] < arr[i + 1])
            return true;
        else
            return false;
    }
    return true;
}

0 个答案:

没有答案