package me.wayne.sort.stable;

import java.util.List;

import me.wayne.sort.SortUtils;

public class InsertionSort {

    /**
     * 插入排序,稳定
     * 时间复杂度O(n2)
     * 空间复杂度O(1)
     */
    public static void sort(List<Integer> data) {
        for (int i = 1; i < data.size(); i++) {
            for (int j = i - 1; j >= 0 && data.get(j) > data.get(j + 1); j--) {
                SortUtils.swap(data, j, j + 1);
            }
        }
        System.out.println(data.toString());
    }
}

@@ -248,17 +248,17 @@
 int i = 
-1
+0
 ; i %3C da
@@ -266,16 +266,20 @@
 a.size()
+ - 1
 ; i++) %7B
@@ -310,23 +310,47 @@
 = i 
--
++
  1; j %3E
-=
  0
- && 
+; j--) %7B%0A                if (
 data
@@ -355,16 +355,20 @@
 ta.get(j
+ - 1
 ) %3E data
@@ -377,21 +377,10 @@
 et(j
- + 1); j--) %7B
+))
 %0A   
@@ -418,15 +418,15 @@
 a, j
-, j + 1
+ - 1, j
 );%0A 

change : 修改插入排序的实现方式。