插入排序:
插入排序(Insertion sort)是一种简单直观且稳定的排序算法。如果有一个已经有序的数据序列,要求在这个已经排好的数据序列中插入一个数,但要求插入后此数据序列仍然有序,这个时候就要用到一种新的排序方法——插入排序法,插入排序的基本操作就是将一个数据插入到已经排好序的有序数据中,从而得到一个新的、个数加一的有序数据,算法适用于少量数据的排序,时间复杂度为O(n^2)。是稳定的排序方法。
插入排序分为直接插入排序和折半插入排序
下面是插入排序的代码
function insertSort(arr){
var len=arr.length;
var key,arr2;
for(var i=1;i<len;i++){
key=i-1;
arr2=arr[i];
while(key>=0&&arr[key]>arr[i]){
arr[key+1]=arr[key];
key--;
}
arr[key+1]=arr2;
}
return arr;
}
var aa=new Array(1,3,2,5,4);
document.write(insertSort(aa));//验证代码
其原理是将一个数插入到一个有序的数组中,遍历数组将大于这个数字的值索引向后挪一位然后将这个值与赋值给索引值;