最近做项目时,需要对数组随机排序,网上搜索了一下都不尽意,干脆自己写一个,算法很简单,随机取当前数组的一个索引与当前位置的元素交换即可。
在选择随机数时,我用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;
}
相关推荐
随机排序小工具
C# 字符串数组 随机排序 方法 通过生成随机数,来对换改变任意数组变量值,此方法相对其它类型数组也通用
随机分组之后的随机排序,随机分组之后的随机排序,随机分组之后的随机排序
C#数组的随机排序源码C#数组的随机排序源码C#数组的随机排序源码
笃行随机排序系统主要用于确定参赛选手出场顺序,适合于体育赛事,演讲比赛,歌手大赛等活动,可设置参赛选手人数,可将确定的出场顺序导出到EXCEL。 【笃行随机排序系统使用方法】 一、数据更新 在安装目录(一般为...
完全和不完全随机排序算法 和c++和vb实现
软件介绍: 一款使用易语言编写的TXT文本文件随机排序工具。打开要排序的文件再保存 ,值得一用。由于是使用易语言编写的,部分杀软件可能会有误报。
主要介绍了C#对list列表进行随机排序的方法,涉及C#操作list列表的技巧,具有一定参考借鉴价值,需要的朋友可以参考下
采用计算机伪随机数生成的原理,综合运用数组与数组类技术,完成10以内的自然数的随机排序。本模块在windows XP和VC++2003.net平台上调试通过,具有较好的移植性。
这是一款打开自动产生随机数排列位置,鼠标可拖动图片换位置特效,jQuery图片随机排序代码。
输入一个数字段,随机打散排序,用于幼儿园小朋友排序,商场活动等场合
本资源为自主学习所做,主要功能如下: 1.增添个人信息(主要展现为姓名)。...然后通过随机数组对保存有信息的数组进行索引生成行的数组即随机排序结果 所有结果的显示均通过tabulate的grid形式输出以保证整体的美观
论文研究-突发事件应急管理中的中断-继续随机排序模型.pdf, 给出一个突发事件应急管理中的中断{}\,-{}\,继续随机排序模型,其中突发事件的开始时间和持续时间都是随机的....
javascript表格随机排序代码.docx
照片墙效果一多实例 (可随机排序)
单选题随机排序算法及PHP&MySQL程序实现.pdf
' 20211224 去重并随机排序的脚本 by milaoshu1020; ' 运行需求: 下载NScript并安装(https://gitee.com/milaoshu1020/NScript/releases); ' 运行方式: 将数据文件拖动到脚本文件图标上并松开鼠标按键; 填写输出行数N...
本文实例讲述了JS随机排序数组。分享给大家供大家参考,具体如下: 做随机显示推荐广告的时候,需要随机排序数据数组,就动手写了一个,如下: function randomOrder (targetArr) { var originalArr = targetArr; ...
Oracle查询结果集,随机排序 代码如下:select * from table1 order by dbms_random.value(); MySQL随机查询出一条记录: 代码如下: — 下面的查询语句效率高,不要使用 SELECT * FROM table1 ORDER BY rand() LIMIT ...
非常不错的思路,用js实现表格的随机排序,建议大家看代码,学习编程思路