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.οnlοad=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>