宝哥软件园

JavaScript实现洗牌数组洗牌操作示例

编辑:宝哥软件园 来源:互联网 时间:2021-08-27

本文实例讲述了Java脚本语言实现洗牌数组洗牌操作。分享给大家供大家参考,具体如下:

!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Transitional//EN ' ' http://www .w3。org/TR/XHTML 1/DTD/XHTML 1-Transitional。DTD ' html xmlns=' http://www .w3。org/1999/XHTML ' hearteta http-equiv=' Content-Type ' Content=' text/html;charset=utf-8 '/TItle JAVAScript shuffle数组洗牌/title body脚本函数创建数组(max){ const arr=[];用于(设I=0;我最大;我){ arr。推(我);}返回arr}函数洗牌。排序(()={//返回值大于0,表示需要交换;小于等于0表示不需要交换返回数学。随机(。)5?-1 : 1;});返回逮捕;}函数洗牌WAp(arr){ if(arr。长度==1)返回arr//正向思路//用于(设i=0,n=arr.lengthI arr。长度-1;I,n - ) {//让j=I数学。地板(数学。random()* n);//逆向思路设I=arr . length while(-I 1){//math . floor和parseInt和0 和~~ 效果一样都是取整设j=数学。地板(数学。random()*(I ^ 1);/* //原始写法让tmp=arr[I];arr[I]=arr[j];arr[j]=tmp;*///es6的写法[arr[i],arr[j]=[arr[j],arr[I]];}返回arr}函数换行(fn,max) { const startTime=new Date().getTime();const arr=创建数组(最大值);常数结果=fn(arr);常量结束时间=新日期()。getTime();const成本=结束时间-开始时间;控制台。日志;控制台。log(' cost : ' cost);}wrap(shuffleSort,1000);包装(shuffleSwap,1000);//试验证明这种方法比第一种效率高多了/脚本/正文/html这里使用在线HTML/CSS/JavaScript代码运行工具:http://工具。JB 51。net/code/HTMljsrun测试上述代码,可得如下运行结果:

更多关于Java脚本语言相关内容还可查看本站专题: 《JavaScript数组操作技巧总结》 、 《JavaScript字符与字符串操作技巧总结》 、 《JavaScript遍历算法与技巧总结》 、 《JavaScript排序算法总结》 、 《JavaScript查找算法技巧总结》 、 《JavaScript数学运算用法总结》 、 《JavaScript数据结构与算法技巧总结》 及《JavaScript错误与调试技巧总结》

希望本文所述对大家Java脚本语言程序设计有所帮助。

更多资讯
游戏推荐
更多+