js洗牌算法实现产生随机数组
来源:互联网 发布:mac speak louder试色 编辑:程序博客网 时间:2024/05/18 08:29
在学习排序算法的时候,经常要用到随机数组,于是就写了一个生成随机数组的方法。算法来自网络,只是修改成了 JavaScript 版本。
基本原理是洗牌算法,首先从所有元素中随机选取一个与第一个元素进行交换,然后在第二个之后选择一个元素与第二个交换,直到最后一个元素。这样能确保每个元素在每个位置的概率都是1/n。
具体代码如下:
12345678910111213141516171819202122232425262728
/**** 生成从 1 到 length 之间的随机数组** @length 随机数组的长度,如果未传递该参数,那么 length 为默认值 9**/function randomArray(length) {var i,index,temp,arr = [length];length = typeof(length) === 'undefined' ? 9 : length;for (i = 1; i <= length; i++) {arr[i - 1] = i;}// 打乱数组for (i = 1; i <= length; i++) {// 产生从 i 到 length 之间的随机数index = parseInt(Math.random() * (length - i)) + i;if (index != i) {temp = arr[i];arr[i] = arr[index];arr[index] = temp;}}return arr;}
0 0
- js洗牌算法实现产生随机数组
- js 生成随机数组或者叫做洗牌算法
- java实现随机洗牌算法
- java实现随机洗牌算法
- 洗牌方法-----JS数组随机排序
- 洗牌算法:随机打乱一个数组
- 洗牌随机算法的一种Java实现
- 几种经典排序算法的JS实现方法+随机洗牌算法
- 【DAY.9】php随机打乱数组顺序(洗牌算法实现)
- 数组随机洗牌
- 洗牌,随机数组
- 随机洗牌算法
- 随机洗牌算法
- 随机洗牌算法
- 随机洗牌算法
- 随机洗牌算法
- 随机洗牌算法
- php随机洗牌算法
- hdu2674 N!Again
- java并发包:信号量
- thinkphp5 事务
- 触摸屏校准之tslib
- SYN Flood
- js洗牌算法实现产生随机数组
- Ubuntu Android GCC 版本配置
- ofo缘分星期三 我的骑行编号是a255979
- OpenCV Python教程(1、图像的载入、显示和保存)
- java中sleep()和wait()的区别
- layer 弹出层不居中显示问题的解决方法
- 周次转换,按splitstr号分隔name转换成List
- ios 批量图片上传服务器优化
- Docker+Nginx+Tomcat7配置简单的负载均衡