JS中数组的排序

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
</head>
<body>
<script type="text/javascript">
/**
* 输出函数out
* {obiect}a一个数组
* 选择排序
*/
function out(a){
document.write("<h1>");
for (var i=0;i<a.length;i++){
if(i<a.length-1)
document.write(a[i]+",");
else
document.write(a[i]);
}
document.write("</h1>");
}
//排序
function sort(a){
for(var i=0;i<a.length-1;i++){
var min=i;
for(var j=i+1;j<a.length;j++){
if(a[j]<a[min]) min=j;
}
var t=a[i];a[min]=a[min];a[min]=t;
}
}
var u=[5,2,7,4,9,1,6];//定义数组
out(u);//输出数组u
sort(u);//对u数组排序
document.write("<hr />");
out(u);//再次输出数组u

//冒泡排序

function sort(b){
for(var x=0;x<b.length-1;x++);
for(var x=0;x<b.length-1-1;x++){
if(b[x]>b[x+1]){
var l=b[x];
b[x]=b[x+1];
b[x+1]=l;
}
}
}
var b=[5,2,7,4,9,1,6];
console.log('before:'+b);
sort(b);
console.log('after'+b);


//插入排序

function insertSort(a){
for(var i=1;i<a.length;i++){
var t=a[i];
for(var j=i-1;j>=0;j--){
if(t<a[j])a[j+1]=a[j];
else break;
}
a[j+1]=t;
console.log(a);
}
}
var u=[5,2,7,4,9,1,6];
out(u);
insertSort(u);
document.write("<hr />");
out(u);
</script>

</body>
</html>

原文地址:https://www.cnblogs.com/yan-linxi/p/8057270.html