`
shuai1234
  • 浏览: 971839 次
  • 性别: Icon_minigender_1
  • 来自: 山西
社区版块
存档分类
最新评论

生成不重复随机数的一种算法。

    博客分类:
  • java
阅读更多

import java.util.*;

/**
 * 生成不重复随机数的一种算法。
 *
 * @author 赵学庆,Java世纪网(java2000.net)
 *
 */
public class T {
  public static void main(String[] args) {
    // 种子你可以随意生成,但不能重复
    int[] seed = { 1, 2, 3, 4, 5, 6, 7, 8, 9 };
    int[] ranArr = new int[9];
    Random ran = new Random();
    // 数量你可以自己定义。
    for (int i = 0; i < seed.length; i++) {
      // 得到一个位置
      int j = ran.nextInt(seed.length - i);
      // 得到那个位置的数值
      ranArr[i] = seed[j];
      // 将最后一个未用的数字放到这里
      seed[j] = seed[seed.length - 1 - i];
    }
    System.out.println("ranArr:" + Arrays.toString(ranArr));
  }
}


本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/java2000_net/archive/2008/10/06/3019580.aspx

分享到:
评论

相关推荐

    易语言取不重复随机数

    在易语言中,生成不重复随机数是一项常见的需求,特别是在游戏开发、数据分析或者算法设计等场景。本文将深入探讨如何在易语言中实现取不重复随机数的功能。 首先,我们需要了解易语言中的随机数生成函数。在易语言...

    生成不重复随机数的算法

    Fisher-Yates洗牌算法是一种有效的生成不重复随机数的方法。它通过对数组进行随机交换来达到目的。 **示例代码**: ```java import java.util.*; public class Test { public static void main(String[] args) { ...

    VB生成不重复的随机数

    根据提供的标题、描述以及部分代码内容,我们可以总结出在Visual Basic (简称VB)环境中生成不重复随机数的主要方法。此技术常用于各种场景,比如彩票系统、抽奖程序或需要无重复随机选择的应用。 ### 一、基本原理 ...

    取不重复随机数.rar

    在生成不重复随机数时,可以在一个包含所有可能数字的数组上应用该算法,然后返回前n个元素,即可得到n个不重复的随机数。 6. **线程安全的随机数生成**: 如果在多线程环境下生成不重复随机数,需要考虑线程同步...

    java生成十个不重复的随机数

    但要生成不重复的随机数,我们不能简单地连续调用`nextInt()`,因为这可能导致重复。一种有效的方法是使用`HashSet`,因为它不允许存储重复元素。 以下是一个简单的示例代码,展示了如何生成十个不重复的随机数: ...

    .NET生成不重复的随机数

    在.NET框架中,生成不重复的随机数是一个常见的需求,特别是在模拟、测试或者游戏开发等场景。本篇文章将深入探讨如何使用.NET实现这一功能,并提供一个VB.NET的示例代码。 首先,我们要明白生成随机数的基本原理。...

    C#产生不重复的随机数

    在IT领域,尤其是在编程语言C#中,生成不重复的随机数是一个常见且重要的需求,尤其是在游戏开发、安全系统、数据分析等应用场景中。本文将基于提供的文件内容,深入解析三种不同的方法来实现这一功能,旨在为读者...

    产生不重复随机数算法

    本文将深入探讨一种在Java中实现的高效算法,该算法能够生成指定范围内的不重复随机数数组,特别适用于随机组题等应用场景。 ### 核心知识点解析 #### 1. 算法原理 算法的核心思想是首先创建一个包含指定范围内...

    快速生成特定区间内的不重复随机数(随机打乱区间元素顺序)

    首先,我们要明确一点:生成不重复随机数的关键在于避免重复。对于一个给定的区间,例如[0, n),其中n是该区间的上限,我们需要生成n个不同的随机数。传统的做法可能包括使用数组或集合来跟踪已经生成过的随机数,但...

    易语言源码易语言取不重复随机数.rar

    在“易语言源码易语言取不重复随机数.rar”这个压缩包中,我们关注的核心知识点是如何在易语言中生成不重复的随机数。 在易语言中,生成随机数通常使用“随机数发生器”命令,它位于“系统”类别下。该命令可以生成...

    产生1到N的不重复随机数

    所以,生成不重复随机数序列的代码可能如下: ```python import random def generate_unique_randoms(N): numbers = list(range(1, N + 1)) random.shuffle(numbers) return numbers ``` 上述方法虽然简单,但...

    C#生成不重复字母数字组合的随机数

    在C#编程中,生成不重复的字母数字组合是一个常见的需求,这可能涉及到密码生成、唯一标识符创建或数据加密等多个领域。在这种情况下,我们通常会利用C#的内置类和方法来实现这一功能。标题提到的是“C#生成不重复...

    易语言取随机数不重复

    5. **优化技巧**:对于大量不重复随机数的生成,使用集合(如易语言的“列表表”)比数组更高效,因为集合能快速判断元素是否存在。此外,可以考虑使用“交换”操作优化算法,减少循环次数。 6. **错误处理**:在...

    一种软件生成真随机数的算法研究

    ### 一种软件生成真随机数的算法研究 #### 摘要及背景 本文探讨了随机数的本质,即确保每一个比特位(bit)都具备随机性,并提出了一种基于软件实现的真随机数生成方法。在信息安全、加密解密、模拟仿真等领域中,...

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

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

    产生20个不重复的随机数的代码

    在IT领域,生成不重复的随机数序列是一个常见的需求,尤其是在需要进行随机抽样、数据模拟或游戏开发等场景中。下面将详细解析如何通过编程实现这一目标,并深入探讨其背后的算法逻辑和技术要点。 ### 核心知识点:...

    随机数生成算法,数值算法

    随机数,虽然被称为“随机”,实际上是由确定性的算法生成的,这些算法确保了结果的不可预测性,同时满足特定的概率分布。在描述的场景中,我们关注的是生成0到32767之间的一个随机整数。 随机数生成器通常分为两大...

    以时间为种子生成随机数

    随机数生成器是一种算法,它能够生成一串看起来像是随机的数字序列。在实际应用中,这些数字并非真正的随机,而是通过确定性算法计算得出的,称为伪随机数。然而,如果设计得当,这些伪随机数序列在统计上与真正的...

Global site tag (gtag.js) - Google Analytics