插入排序

  插入排序的基本工作原理:对于未排序列,在已排序列中从后向前扫描,找到相应的位置并插入。其中时间复杂度O(n^2),空间复杂度O(1),算法相对稳定。

 1 function insertionSort(arr) {
 2     var length = arr.length;
 3     for (var i = 0; i < length; i++) {
 4         var preIndex = i - 1;
 5         var cur = arr[i];
 6         while (preIndex>=0&&arr[preIndex]>cur) {
 7             arr[preIndex + 1] = arr[preIndex];
 8             preIndex--;
 9         }
10         arr[preIndex+1] = cur;
11     }
12     return arr;
13 }
14 console.log(insertionSort([3,1,7,45,3,2]));

 

posted on 2018-10-02 18:13  大黑ylx  阅读(781)  评论(0编辑  收藏  举报