网站大量收购独家精品文档,联系QQ:2885784924

常见算法是js实现汇总.doc

  1. 1、本文档共18页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
常见算法是js实现汇总

常见算法是js实现汇总 /*去重*/ script function delRepeat(arr){ ??var newArray=new Array(); ??var len=arr.length; ??for(var i=0;ilen;i++){ ?? ? for(var j=i+1;jlen;j++) ?? ? { ?? ? ? if(arr[i]==arr[j]) ?? ? ? { ?? ? ? ? ++i; ? ?? ? ? } ?? ? } ?? ?newArray.push(arr[i]); ??} ?return newArray; } var arr=new Array(red,red,1,5,2); alert(delRepeat(arr)); /script ? /*二分法*/ 又称为折半查找算法,但是有缺陷就是要求数字是预先排序好的 function binary(items,value){ ?var startIndex=0, ? ? ?stopIndex=items.length-1, ? ? ?midlleIndex=(startIndex+stopIndex)1; ? ? ?while(items[middleIndex]!=value startIndexstopIndex){ ? ? ? ?if(items[middleIndex]value){ ? ? ? ? ? stopIndex=middleIndex-1; ? ? ? ?}else{ ? ? ? ? ? startIndex=middleIndex+1; ? ? ? ?} ? ? ? ?middleIndex=(startIndex+stopIndex)1; ? ? ?} ? ? ?return items[middleIndex]!=value ? false:true; } ? /*十六进制颜色值的随机生成*/ function randomColor(){ ?var arrHex=[0,2,3,4,5,6,7,8,9,a,b,c,d], ? ? ?strHex=#, ? ? ?index; ? ? ?for(var i=0;i6;i++){ ? ? ? index=Math.round(Math.random()*15); ? ? ? strHex+=arrHex[index]; ? ? ?} ?return strHex; } ? /*一个求字符串长度的方法*/ function GetBytes(str){ ?var len=str.length, ? ? ?bytes=len; ?for(var i=0;ilen;i++){ ? ?if(str.CharCodeAt255){ ? ? ?bytes++; ? ?} ?} ?return bytes; } ? /*插入排序*/ 所谓的插入排序,就是将序列中的第一个元素看成一个有序的子序列,然后不段向后比较交换比较交换。 ---------------------------------华丽丽的分割线------------------------------------- function insertSort(arr){ ? var key; ? for(var j = 1; j arr.length ; j++){? ? ? ? //排好序的 ? ? ? var i = j - 1; ? ? ? key = arr[j]; ? ? ? while(i = 0 arr[i] key){ ? ? ? ? ? ? arr[i + 1] = arr[i]; ? ? ?? ? ? ? ? ? i --; ? ? ? ? ? ? ?} ? ? ?arr[i + 1] = key; ? } ?return arr; } ? ? ? ? /*希尔排序*/ 希尔排序,也称递减增量排序算法具体描述:/zh/%E5%B8%8C%E5%B0%94%E6%8E%92%E5%BA%8F 其实说到底也是插入排序的变种 function shellSort(array){ ? ? ? ?var stepArr = [1750, 701, 301, 132, 57, 23, 10, 4, 1]; // reverse()在维基上看到这个最优的步长较小数组 ? ? ? ? var i = 0; ? ? ? ? var stepArrLength = stepArr.length; ? ? ? ? var len = array.length; ? ? ? ? var len2 = ?parseInt(len/2); ? ? ? ? for(;i stepArrLength; i++){ ? ?

文档评论(0)

hhuiws1482 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:5024214302000003

1亿VIP精品文档

相关文档