zoukankan      html  css  js  c++  java
  • 随机排序

    最近做AMS项目时,需要对数组随机排序,网上搜索了一下都不尽意,干脆自己写一个,算法很简单,随机取当前数组的一个索引与当前位置的元素交换即可。

    在选择随机数时,我用guid的hash值取模当前数组的长度。

    复杂度:O(n)     

     public T[] RandomSort<T>(T[] list)
            {
                int len = list.Length;
                for (int i = 0; i < len; i++)
                {
                    int index = Math.Abs(Guid.NewGuid().GetHashCode()) % (len - i);//r.Next(i, len);               

                    T temp = list[i];
                    list[i] = list[index];
                    list[index] = temp;
                }
                return list;
            }

  • 相关阅读:
    JavaWeb核心之Servlet
    Http&Tomcat
    XML&反射
    JDBC连接池和DBUtils
    JDBC
    testng依赖
    java mysql
    eclipse自动补全的设置
    java Logger 的使用与配置
    python数据持久存储:pickle模块的基本使用
  • 原文地址:https://www.cnblogs.com/liguo/p/2007262.html
Copyright © 2011-2022 走看看