/// <summary>
/// 生成随机索引列表
/// </summary>
/// <param name="maxNumber"></param>
/// <returns></returns>
private static List<int> CreateRandomNumbers(int maxNumber)
{
var array = new int[maxNumber];
for (var i = 0; i < maxNumber; i++)
{
array[i] = i;
}
var rnd = new Random();
for (var i = 0; i < maxNumber; i++)
{
var index = rnd.Next(0, maxNumber);
if (i != index)
{
var tmpval = array[i];
array[i] = array[index];
array[index] = tmpval;
}
}
var list = new List<int>();
for (var i = 0; i < maxNumber; i++)
{
list.Add(array[i]);
}
return list;
} /// <summary>
/// 生成随机索引列表
/// </summary>
/// <param name="maxNumber"></param>
/// <returns></returns>
private static List<int> CreateRandomNumbers2(int maxNumber)
{
List<int> list = new List<int>();
Random rd = new Random();
while (list.Count() < maxNumber)
{
int i = rd.Next(0, maxNumber);
if (!list.Contains(i))
{
list.Add(i);
}
}
return list;
} /// <summary>
/// 生成随机索引列表
/// </summary>
/// <param name="maxNumber"></param>
/// <returns></returns>
private static List<int> CreateRandomNumbers2(int maxNumber)
{
var array = new int[maxNumber, 2];
var index = maxNumber - 1;
var rnd = new Random();
while (index > 0)
{
array[index, 0] = index;
array[index, 1] = rnd.Next(0, maxNumber);
index--;
}
var list = new List<int>();
for (var i = 0; i < maxNumber; i++)
{
for (var j = i + 1; j < maxNumber; j++)
{
if (array[i, 1] > array[j, 1])
{
var tIndex = array[i, 0];
var tValue = array[i, 1]; array[i, 0] = array[j, 0];
array[i, 1] = array[j, 1]; array[j, 0] = tIndex;
array[j, 1] = tValue;
}
}
}
for (var i = 0; i < maxNumber; i++)
{
list.Add(array[i, 0]);
}
return list;
}

  

第一种速度最快,第二种次之,第三种最慢

C# 生成随机索引列表的更多相关文章

  1. <每日一题>题目28:生成随机的测验试卷(单选题)

    #项目:生成随机的测验试卷文件 import random #资料库 capitals = {'北京市':'京','上海市':'沪','天津市':'津','重庆市':'渝','河北省':'冀','山西 ...

  2. PHP生成随机水印图片

    基于PHP的GD图形库,自己生成一张图片.仅限初识GD库,实例学习. 一.需求 网站的布局用到了类似慕课网课程列表的风格,每一个课程是一个banner图,图下面是标题加简介.因为课程的数量较大没有为所 ...

  3. Framework7 索引列表插件的问题

    前言 Framework7 作为移动端的开发框架的优良之处已经无需多言.现在已经有了 React 和 Vue 版本,之前在项目中用过 F7 + vue 的开发方式,无论是效率还是产出都近乎完美.有时间 ...

  4. 利用Java随机,生成随机学生数据

    为模拟向数据库中大量插入学生数据(注:此处应该用PreparedStatement.batchUpdate等批处理提高效率)的情形,通过Java随机来生成学生数据. 一.要生成的学生数据 studen ...

  5. Framework7 索引列表插件的异步加载实现

    前言 Framework7 作为移动端的开发框架的优良之处已经无需多言.现在已经有了 React 和 Vue 版本,之前在项目中用过 F7 + vue 的开发方式,无论是效率还是产出都近乎完美.有时间 ...

  6. Python生成随机验证码,大乐透号码

    实例笔记之生成随机号码 扩展知识 - yield(生成器) 随机生成验证码 示例代码: import random # 导入标准模块中的random if __name__ == '__main__' ...

  7. 利用Masscan批量生成随机ip地址表

    简介 Masscan是Kali下集成的高效扫描器,和nmap命令有很多相似之处 命令生成随机ip masscan -sL 10.0.0.0/24 > c段.txt masscan -sL 10. ...

  8. C# 生成随机的6位字母,包含大小写

    今天自己做项目需要生成随机的6位字母,于是自己写了一个,下面代码是可以生成任意位数字母的. string _zimu = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefg ...

  9. Python生成随机数组的方法小结

    Python生成随机数组的方法小结 本文实例讲述了Python生成随机数组的方法.分享给大家供大家参考,具体如下: 研究排序问题的时候常常需要生成随机数组来验证自己排序算法的正确性和性能,今天把Pyt ...

随机推荐

  1. 【分享】【原创开源应用第4期】给ili9488,RA8875类显示屏的emWin底层增加DMA加速方案

    说明:1.emWin底层中最重要的一个优化就是16bpp绘制,特此为其增加DMA加速,已经支持RA8875和ili9488.2.使用中务必将emWin任务设置为除了空闲任务,统计任务以外的最低优先级, ...

  2. Java 延迟队列使用

    延时队列,第一他是个队列,所以具有对列功能第二就是延时,这就是延时对列,功能也就是将任务放在该延时对列中,只有到了延时时刻才能从该延时对列中获取任务否则获取不到…… 应用场景比较多,比如延时1分钟发短 ...

  3. XQuery 术语

    XQuery 术语 节点 在 XQuery 中,有七种节点:元素.属性.文本.命名空间.处理指令.注释.以及文档(根)节点.XML 文档是被作为节点树来对待的.树的根被称为文档节点或者根节点. 请看下 ...

  4. Pycharm中配置鼠标悬停快速提示方法参数

    第一步: 第二步: 演示:

  5. [Swift]LeetCode464. 我能赢吗 | Can I Win

    In the "100 game," two players take turns adding, to a running total, any integer from 1.. ...

  6. Android studio使用过程中错误的解决方法

    错误一:No such property: POM_DESCRIPTION for class: org.gradle.api.publication.maven.internal.pom 刚开始出现 ...

  7. Kubernetes系列之监控Metres-server实战篇

    本次系列使用的所需部署包版本都使用的目前最新的或最新稳定版,安装包地址请到公众号内回复[K8s实战]获取 介绍 从 Kubernetes 1.8 开始,Kubernetes 通过 Metrics AP ...

  8. [usaco18Feb] New Barns

    题意 每次新建一个节点,并与一个已知节点连边.(或者不连).多次询问以某个已知点点出发的最远路径长度. 分析 显然,在任何时候图都是一个森林.由树的直径算法可知,与某点最远距的点必然是树的直径的一段. ...

  9. dataframe的select传入不定参数

    在提取 dataframe 里面的列时,需要传入不定参数,即 dataframe.select(args) .例如某个 dataframe 如下: 一般提取某列或者某几列的时候是这样子写的: data ...

  10. SpringCloud(7)---网关概念、Zuul项目搭建

    SpringCloud(7)---网关概念.Zuul项目搭建 一.网关概念 1.什么是路由网关 网关是系统的唯一对外的入口,介于客户端和服务器端之间的中间层,处理非业务功能 提供路由请求.鉴权.监控. ...