1.插入排序代码
按从小到大排序。
插入排序比较的次数与无序数组的长度相等。

<script>
var arr = [98,7,65,54,12,6];
console.log("排序前"+arr);
for(var i=1;i<arr.length;i++)
{
for(j=i;j>0;j--)
{
if(arr[j-1]>arr[j])
{
var t= arr[j-1];
arr[j-1] = arr[j];
arr[j] = t;
}
}
}
console.log("排序后"+arr);
</script>
执行结果
排序前98,7,65,54,12,6
排序后6,7,12,54,65,98
2.冒泡排序:是计算机科学领域中较简单的排序算法。
实现原理:在冒泡排序的过程中,按照要求从小到大排序或从大到小排序,不断比较数组中相邻两个元素的值,较小或较大的元素前移。

冒泡排序比较的轮数是数组长度减1,每轮比较的对数等于数组的长度减当前的轮数。
<script>
var arr = [10,2,5,27,98,31];
console.log("排序前"+arr);
for(var i=1;i<arr.length;i++)
{
for(j=0;j<arr.length -i ;j++)
{
if(arr[j]>arr[j+1])
{
var t= arr[j];
arr[j] = arr[j+1];
arr[j+1] = t;
}
}
}
console.log("排序后"+arr);
</script>
执行结果
排序前10,2,5,27,98,31
排序后2,5,10,27,31,98
<script>
//选择排序
var arr = [2,4,6,3,1,5];
var len = arr.length;
console.log("排序前:"+arr);
//第一次排序
/*for( var j =1;j<len;j++)
{
if(arr[0]>arr[j])
{
var t;
t= arr[0];
arr[0]=arr[j];
arr[j] = t;
}
}
console.log("第一次排序后:"+arr);
//第二次排序
for( var j =2;j<len;j++)
{
if(arr[1]>arr[j])
{
var t;
t= arr[1];
arr[1]=arr[j];
arr[j] = t;
}
}
console.log("第二次排序后:"+arr);*/
for(var i =1;i<len;i++)
{
for(var j=i;j<len;j++)
{
if(arr[i-1]>arr[j])
{
var t;
t =arr[i-1];
arr[i-1] = arr[j];
arr[j]=t;
}
}
console.log("第"+i+"轮排序结果:"+arr);
}
console.log("排序后:"+arr);
/*
排序前:2,4,6,3,1,5
第1轮排序结果:1,4,6,3,2,5
第2轮排序结果:1,2,6,4,3,5
第3轮排序结果:1,2,3,6,4,5
第4轮排序结果:1,2,3,4,6,5
第5轮排序结果:1,2,3,4,5,6
排序后:1,2,3,4,5,6
*/
</script>

