• 洗牌算法


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

    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;

            }

     


  • 相关阅读:
    sqlserver2005分页
    windows计划任务
    sqlserver 2005 通信格式
    sqlserver 导出数据到excel
    所有连接sqlserver 2005 数据库的驱动程序
    Sql 2000 中行转列的查询方法
    [转] ASP.NET中使用javascript
    [转]17种常用正则表达式
    正则式正反向预编译(实战)
    正则表达式的正反向预编译
  • 原文地址:https://www.cnblogs.com/liyonghui/p/2763821.html
Copyright © 2020-2023  润新知