Ruby's Louvre

每天学习一点点算法

导航

2010年1月20日 #

判定类型

摘要: 目前最精确的判定方法(不包括自定义类型)//2010.6.1更新 var is = function (obj,type) { return (type === "Null" && obj === null) || (type === "Undefined" && obj === void 0 ) || (type === "Number" && isFinite(obj)) || Object.prototype.toString.call(obj).slice(8,-1) === t 阅读全文

posted @ 2010-01-20 18:56 司徒正美 阅读(3430) 评论(2) 推荐(2) 编辑

鸡尾酒排序

摘要: var cocktailSort= function(array) { var top = array.length - 1, bottom = 0,flag = true,i, j; while (flag) { flag = false; //从左到右到大,把最大的放到每次范围的最右边 for (i = bottom; i < top; i++) { if (array[i] > ... 阅读全文

posted @ 2010-01-20 18:34 司徒正美 阅读(902) 评论(0) 推荐(0) 编辑

组合排序

摘要: var combSort = function(array){ var gap = array.length; do{ gap = gap * 10 / 13 if(gap === 9 || gap === 10) gap = 11 if(gap < 1){ gap = 1 } var swapped = false; for(var i=0;i<array.length-gap;i+... 阅读全文

posted @ 2010-01-20 18:34 司徒正美 阅读(1044) 评论(0) 推荐(0) 编辑

希尔排序

摘要: 又称缩小增量排序: function shellSort(array) { var j, i, v, h=1, s=3, k,n = array.length while(h < n) h=s*h+1; while(h > 1) { h=(h-1)/s; for (k=0; k<h; k++) for (i=k+h,j=i; i<n; i+=h, j=i) { v=arra... 阅读全文

posted @ 2010-01-20 18:33 司徒正美 阅读(802) 评论(0) 推荐(1) 编辑

计数排序

摘要: var countSort = function(array) { var i, z = 0, count = [], min = Math.min.apply({}, array), max = Math.max.apply({}, array), size = array.length; //给新数组预填为零 for (i = min; i <= max; i++) { count[i]... 阅读全文

posted @ 2010-01-20 18:33 司徒正美 阅读(850) 评论(0) 推荐(0) 编辑

快速排序

摘要: var qurckSort = function(array){ function qsort(array, begin, end){ if(end>begin){ //找到枢纽 var index = partition(array, begin, end); qsort(array, begin, index-1); qsort(array, index+1, end); } } //定... 阅读全文

posted @ 2010-01-20 18:33 司徒正美 阅读(823) 评论(0) 推荐(0) 编辑

通过特征判定游览器

只有注册用户登录后才能阅读该文。 阅读全文

posted @ 2010-01-20 02:33 司徒正美 阅读(412) 评论(2) 推荐(2) 编辑