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;

            }

     


  • 相关阅读:
    python实现清屏
    列表/字典/集合解析式和生成器
    SQL——pivot的用法
    前端的3大类描述
    2019-耦合性斗争笔记
    前端基础语法
    解决winform在win10下字体模糊的问题
    Xamarin.Android打包设置
    N0---我的编程教学提纲
    N0---关于变量
  • 原文地址:https://www.cnblogs.com/liyonghui/p/2763821.html
Copyright © 2011-2022 走看看