首页 > 编程语言 >随机打乱数组--java实现

随机打乱数组--java实现

时间:2022-11-22 23:12:07浏览次数:83  
标签:arr java -- 打乱 Random int length randomIndex

参考链接
听说过 java.utils.Random 随机数是伪随机,但是Math库还没学,所以下面代码中还是用的Random

public static int[] shuffle(int[] arr){
    Random r = new Random();
    for (int i = 1; i < arr.length; i++) {
        int tmpInt = arr[arr.length-i];
        int randomIndex = r.nextInt(arr.length - i);
        arr[arr.length-i] = arr[randomIndex];
        arr[randomIndex] = tmpInt;
    }
    return arr;
}

标签:arr,java,--,打乱,Random,int,length,randomIndex
From: https://www.cnblogs.com/hack2xia/p/16916844.html

相关文章

  • webpack基础
    webpackwebpack是代码编译工具,有入口、出口、loader和插件。webpack是一个用于现代[JavaScript](https://baike.baidu.com/item/JavaScript/321142?fromModule=lem......
  • 前端项目中:需要注意的点
    (1)数组的拷贝浅拷贝:当数据为一维数组时,可以很好的开辟一块新的内存空间当数据为高维数组时,有协同修改的风险深拷贝:完全的开辟一块新的内存空间https://ww......
  • Java 用Lambda实现一个通用的制造者工具
    在我们日常开发中,虽然是用了lombok在实体类中已经帮我们省了get、set方法,但是在公司的项目中,还是经常会出现new一个对象然后一个个的给它set值的情况,太丑了,如下图List<St......
  • P8863 「KDOI-03」构造数组
    记\(f_{i,j}\)表示前\(i\)个数凑成\(j\)对的方案数。难点在于如何计算排列的不同方案数。如果依次加入二元组的第一个和第二个元素便可以用组合数计算方案。那么......
  • C语言中调用可执行程序的方法。
    在C/C++程序中,经常需要调用其它的程序来先成某项任务,例如其它的C/C++程序、操作系统命令或Shell脚本,C/C++提供了exec函数族和system函数来实现这个功能。一、exce函数族exec......
  • 多重背包
    太空电梯奶牛们要去太空了!它们打算用方块建造一座太空电梯。现在它们有\(N\)种方块,第\(i\)种方块有一个特定的高度\(h_i\),一定的数量\(c_i\)。为了防止宇宙射线破坏......
  • 精华推荐 | 【深入浅出RocketMQ原理及实战】「底层原理挖掘系列」透彻剖析贯穿RocketM
    RocketMQ的发展历史RocketMQ是一个统一消息引擎、轻量级数据处理平台。RocketMQ是一款阿里巴巴开源的消息中间件。2016年11月28日,阿里巴巴向广西党性培训Apache软......
  • ftp常用命令
          ftp(FileTransferProtocol,文件传输协议)是TCP/IP协议族中的一员。ftp协议包括两个组成部分,其一为ftp服务器,其二为ftp客户端。    ftp客户端与服......
  • Linux的多线程
     线程的概念和多进程相比,多线程是一种比较节省资源的多任务操作方式。启动一个新的进程必须分配给它独立的​​地址空间​​​,每个进程都有自己的​​堆栈段​​​和​​数......
  • Linux线程同步介绍和示例
     线程同步的概念    线程同步?怎么同步?一起运行?一起停止?我当年听说线程同步这个词的时候,也是一头雾水。    在人们的日常生活中,所说的锁大概有两种:一种是不允......