zoukankan      html  css  js  c++  java
  • 洗牌算法

    最近要做一个程序随机出数据的程序,最后找到了一个性能不错的算法 洗牌算法

    Random ram = new Random()

     //随机交换
                int currentIndex;
                Product tempValue;
                for (int i = 0; i < listtemp.Count; i++)
                {
                    currentIndex = ram.Next(0, listtemp.Count - i);
                    tempValue = listtemp[currentIndex];
                    listtemp[currentIndex] = listtemp[listtemp.Count - 1 - i];

    /// <summary>
            /// 洗牌算法
            /// </summary>
            /// <typeparam name="T"></typeparam>
            /// <param name="listtemp"></param>
            public static List<T> Reshuffle<T>(List<T> listtemp)
            {
                //随机交换
                Random ram = new Random();
                int currentIndex;
                T tempValue;
                for (int i = 0; i < listtemp.Count; i++)
                {
                    currentIndex = ram.Next(0, listtemp.Count - i);
                    tempValue = listtemp[currentIndex];
                    listtemp[currentIndex] = listtemp[listtemp.Count - 1 - i];
                    listtemp[listtemp.Count - 1 - i] = tempValue;
                }

                return listtemp;

            }

     


  • 相关阅读:
    HTTP状态码总结
    spring boot 文件上传
    JQuery Ajax上传文件
    git常用的操作
    git使用ssh clone时报错
    openssl安装
    h5 手机浏览器打开app
    火狐浏览器刷新后表单不重置 (自动填充)
    js Date() 相关
    css中的定位
  • 原文地址:https://www.cnblogs.com/liyonghui/p/2763821.html
Copyright © 2011-2022 走看看