js中的简单排序

来源:互联网 发布:字体管家mac版 编辑:程序博客网 时间:2024/05/01 09:54
js_冒泡排序:
<html><head><meta charset="utf-8"><title>js_冒泡排序</title><script>  var a = [12,3,5,8,4,34,1];//声明一个数组  window.onload = function() { // alert(a[0]);  var len = a.length; // alert(len);  for(var i=0; i<len; i++) {  for(var j=i+1; j<len; j++) { if(a[i]>a[j]) {  var temp = a[i];  a[i] = a[j];  a[j] = temp; }  }  } for(var i=0; i<len; i++) {document.write(a[i]);document.write(",");  }  }</script></head><body></body></html>
js_插值法排序:
<!doctype html><html><head><meta charset="utf-8"><title>js_插值法排序</title><script>var arr = [1,12,4,14,45,23];window.onload = function() {    var arrSort= [];arrSort[0] = arr[0];var len = arr.length;var flag = false;     //帮助判断循环是否执行for(var i = 1; i < len; i++) {var sortLen = arrSort.length;flag = false;for(var j = 0; j < sortLen; j++) {if(arr[i] < arrSort[j]) {     arrSort.splice(j,0,arr[i]);//在第j个位置插入arr[i],(删除位置,删除个数,插入的元素) flag = true; break;}}if(flag == false) {arrSort.push(arr[i]);//将arr[i]插入到最后}}len = arrSort.length;for(var i = 0; i < len; i++) {document.write(arrSort[i]);document.write(",");}}</script></head><body></body></html>
js_二分法排序:
<!doctype html><html><head><meta charset="utf-8"><title>js_二分法排序</title><script>   var arr = [12,3,34,13,2,7,8];   window.onload=function() {   var nArr = [];   nArr[0] = arr[0];   var len = arr.length;   var left = 0;   var right = 0;   var point = 0;   for(var i = 1; i < len; i++) {   left = 0;   var nlen = nArr.length;   right = nlen;   for(var j = 0; j < nlen; j++) {   point = Math.floor((left+right)/2);   if(nArr[point] < arr[i]) {   left = point + 1;   }else {   right = point;   }if(left == right) {   nArr.splice(left,0,arr[i]);   break;      }      }   }   var nlen = nArr.length;   for(var i = 0; i < len; i++) {   document.write(nArr[i]);   document.write(",");   }      }</script></head><body></body></html>

0 0
原创粉丝点击