zoukankan      html  css  js  c++  java
  • Java数组乱序/随机排列算法

    算法:顺序遍历,每次生成一个随机位置,和当前位置的元素互换。

    运行时间是线性的。 

     1 /**
     2  * 数组乱序类
     3  * @author noam 
     4  */
     5 public class NRandom {
     6 
     7     /**
     8      * 对给定数目的自0开始步长为1的数字序列进行乱序
     9      * @param no 给定数目
    10      * @return 乱序后的数组
    11      */
    12     public static int[] getSequence(int no) {
    13         int[] sequence = new int[no];
    14         for(int i = 0; i < no; i++){
    15             sequence[i] = i;
    16         }
    17         Random random = new Random();
    18         for(int i = 0; i < no; i++){
    19             int p = random.nextInt(no);
    20             int tmp = sequence[i];
    21             sequence[i] = sequence[p];
    22             sequence[p] = tmp;
    23         }
    24         random = null;
    25         return sequence;
    26     }
    27 

    28 } 

  • 相关阅读:
    Node.js 究竟是什么?
    天津自考学习之“六步看书法”
    C专家编程cdecl
    Linux系统启动流程及安装命令行版本
    Java学习路线
    GCC内置宏
    GMP
    二级存储构建倒排索引
    余弦距离与欧式距离
    af
  • 原文地址:https://www.cnblogs.com/noam/p/1983974.html
Copyright © 2011-2022 走看看