`

生成m个不重复随机数组

 
阅读更多
    /**
     * 生成m个不重复随机数组
     * @param limit 若为10 则产生 0~9之间的随机数
     * @param need m个
     * @return 随机数组
     */
    private static int[] getRandomMethod(int limit, int need)
    {
        int[] tempArray = new int[limit];
        int[] resArray = new int[need];
        for (int i = 0; i < limit; i++)
        {
            tempArray[i] = i;
        }
        int w = 0;
        Random rand = new Random();

        for (int i = 0; i < need; i++)
        {
            w = rand.nextInt(limit - i) + i;
            int t = tempArray[i];
            tempArray[i] = tempArray[w];
            tempArray[w] = t;
            resArray[i] = tempArray[i];
        }
        return resArray;
    }
分享到:
评论

相关推荐

    c语言中的随机函数分析与生成m个不重复随机数算法比较[参考].pdf

    此外,对于生成m个不重复的随机数,可以采用以下几种算法: 1. **排序法**:生成m个随机数,然后对它们进行排序,去除重复的数字。 2. **桶排序法**:创建一个大小为m的数组,每个位置代表一个随机数,通过随机数的...

    ASP生成随机数 ASP生成不重复随机数

    ASP生成随机数: 代码如下:Randomize ‘纯随机,... ‘生成的是一个不重复的数组 Function GetRnd(lowerNum,upperNum) Dim unit,RndNum,Fun_X unit = upperNum – lowerNum Redim MyArray(unit) For Fun_I=0 To unit m

    从n个数组中取出所有排列组合(Java实现)

    排列是指从n个不同元素中取出m(m≤n)个元素,按照一定的顺序排成一列的所有可能的方式;组合则是指不考虑元素的顺序,仅考虑元素的选取。在这个问题中,我们不仅要考虑元素的选取,还要考虑它们的顺序,因此属于...

    java 随机生成整数

    为了确保生成的随机数列表中不包含重复的数字,代码中使用了一个循环来检查新生成的随机数是否已经存在于数组中。如果存在,则重新生成: ```java for (int j = 0; j ; j++) { if (arr[j] == arr[i]) { i--; ...

    群体(大小为N的数组)中随机抽取一定数量(M个)的样本1

    标题所述的"群体(大小为N的数组)中随机抽取一定数量(M个)的样本"是一种常见的算法问题,目标是从给定的数组中无放回地抽取M个不重复的元素,形成一个新的数组。这个问题在统计学、数据分析、随机试验等领域都有广泛...

    随机生成10位数包含字母和数字

    考虑到需要生成的字符串长度为10位,我们可以循环10次,每次从数组中随机选取一个元素添加到最终的字符串中。 #### 示例代码分析 下面是对给定的部分内容进行详细的解释: ```java public static String ...

    java 随机产生指定长度的用户名字母 数字格式

    通过上述分析,我们可以清楚地了解到如何在Java中使用 `Random` 类结合字符数组和 `StringBuffer` 来生成指定长度的随机字符串。这种方法不仅适用于生成用户名,同样可以应用于密码生成等场景,具有很强的实用价值。

    matlab创建数组的方法,介绍5种方法

    这些方法只是 MATLAB 中创建数组的基本方式,实际上还有更多高级技巧,如使用 `repelem` 创建重复元素的数组,使用 `diag` 创建对角矩阵,或者使用 `rand` 和 `randn` 生成随机数组等。了解并熟练掌握这些方法,可以...

    生成类别随机数

    每次调用时,它都会产生不同的种子,确保生成的随机数序列不重复。 3. **数组操作**: ```vb Dim f_Randchar, f_Randchararr, f_RandLen, f_Randomizecode, f_iR f_Randchar = "0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F...

    delphi生成随机数

    一种常见的生成不重复随机数的方法是通过随机排列一个有序数组来实现。这种方法适用于需要生成一定数量的不重复随机数的情况。 **示例代码**: ```pascal var aa : array[1..36] of string[2]; // 声明一个字符串...

    Javascript从数组中随机取出不同元素的两种方法

    在这个函数中,`Math.random()` 生成一个介于 0(包含)和 1(不包含)之间的浮点数,`Math.floor()` 将其向下取整,从而得到一个随机索引。`splice()` 方法用于从临时数组中移除选中的元素,以确保下一次循环不会...

    关于随机行走数据生成的说明1

    最后,更新种子值,以确保连续调用时生成的随机数序列不重复。 数据收集方面,每50步取一次样本点,总共收集10000个样本点。这样可以获取到随机行走过程的平均特性,减少短期波动的影响。在绘图时,由于绘图软件的...

    密码学 随机全排列生成程序及其应用开发 实验一 报告

    6. **避免重复**:在第二种方法中,通过`rand()%m`生成0到m-1的随机索引,然后用`swap`函数将随机索引位置的元素与当前元素交换,以确保最终序列中没有重复的数字。 7. **文件操作**:在第二个实验代码中,涉及到从...

    Js生成随机数/随机字符串的方法小结【5种方法】

    为了生成随机字符串,我们可以将这个函数与字符数组结合。例如,以下函数`randomString`接受一个参数`e`作为字符串的长度,生成一个由特定字符集组成的随机字符串: ```javascript function randomString(e) { e =...

    C#中自动生成验证码的方法

    5. **循环生成验证码**:通过循环,每次生成一个随机索引,并根据该索引从字符数组中获取一个字符,然后将其添加到`VNum`字符串中。 6. **防止重复**:为了避免生成的验证码中出现连续相同的字符,当发现连续两次...

    随机生成网络,采用prime算法,生成最小生成树Matlab.zip

    2. **初始化**:设置一个标志数组来跟踪节点的状态(未访问/已访问),并初始化最小生成树。 3. **选择节点**:从未访问的节点中选择一个,通常选择边权值之和最小的节点。 4. **扩展最小生成树**:遍历新选节点的...

    C/C++实现的游戏角色名称名字随机生成代码

    在C/C++编程中,创建一个游戏角色名称的随机生成器是一项常见的任务,特别是在开发古典风格的游戏时。这个代码实现了一个简单的类`CName`,它能够根据预定义的姓氏和名字列表生成随机的中文角色名称。以下是这个实现...

    MFC 随机生成迷宫 动态实现有回溯地走出迷宫

    在本文中,我们将深入探讨如何使用MFC(Microsoft Foundation Classes)框架来实现一个随机生成迷宫并采用非递归方式动态地有回溯地走出迷宫的程序。MFC是微软提供的一套C++库,它为Windows应用程序开发提供了丰富的...

    os.rar_M?n_random event_建立随机事件_抽取名单

    为了确保不重复,可以使用`std::set`来跟踪已选取的学生。 接下来,我们来看“建立随机事件链表”。链表是一种数据结构,其中每个元素(节点)包含数据和指向下一个节点的指针。在这里,每个节点代表一个随机事件。...

    基于MATLAB的最小生成树Prim算法 源代码程序.rar

    压缩包中的`prim.m`很可能是Prim算法的具体实现,而`Dandn.m`可能包含了数据的生成或处理函数,例如创建随机图、读取图数据等。`说明.txt`文件则可能包含关于代码使用方法、输入输出格式以及算法实现细节的说明。 ...

Global site tag (gtag.js) - Google Analytics