摘要: 希尔排序思路我们在第 i 次时取gap = n/(2的i次方),然后将数组分为gap组(从下标0开始,每相邻的gap个元素为一组),接下来我们对每一组进行直接插入排序。希尔排序实现Function.prototype.method = function(name, func){ this.prototype[name] = func; return this;};Array.method('shellSort', function(){ var len = this.length, gap = parseInt(len/2), i, j, tmp; wh... 阅读全文
posted @ 2013-10-09 00:12 JChen___ 阅读(143) 评论(0) 推荐(0) 编辑
摘要: 二分插入排序思路先在有序区通过二分查找的方法找到移动元素的起始位置,然后通过这个起始位置将后面所有的元素后移。二分插入排序实现Function.prototype.method = function(name, func){ this.prototype[name] = func; return this;};Array.method('bInsertSort', function(){ var len = this.length, i, j, tmp, low, high, mid; for(i=1; i=high+1; j--){ ... 阅读全文
posted @ 2013-10-08 23:49 JChen___ 阅读(192) 评论(0) 推荐(0) 编辑
摘要: 插入排序思路从第二个元素开始和它前面的元素进行比较,如果比前面的元素小,那么前面的元素向后移动,否则就将此元素插入到相应的位置。插入排序实现Function.prototype.method = function(name, func){ this.prototype[name] = func; return this;};Array.method('insertSort', function(){ var len = this.length, i, j, tmp; for(i=1; i=0 && tmp < this[j]){ th... 阅读全文
posted @ 2013-10-08 23:39 JChen___ 阅读(240) 评论(0) 推荐(0) 编辑
摘要: 2013年10月6号,我的前端博客园开通了。我将为他奉献我的余生。 阅读全文
posted @ 2013-10-06 21:02 JChen___ 阅读(184) 评论(1) 推荐(0) 编辑