import java.util.Arrays; /** * æå ¥æåº */ public class InsertSort implements IArraySort { @Override public int[] sort(int[] sourceArray) throws Exception { // 对 arr è¿è¡æ·è´ï¼ä¸æ¹ååæ°å 容 int[] arr = Arrays.copyOf(sourceArray, sourceArray.length); // ä»ä¸æ 为1çå ç´ å¼å§éæ©åéçä½ç½®æå ¥ï¼å ä¸ºä¸æ 为0çåªæä¸ä¸ªå ç´ ï¼é»è®¤æ¯æåºç for (int i = 1; i < arr.length; i++) { // è®°å½è¦æå ¥çæ°æ® int tmp = arr[i]; // ä»å·²ç»æåºçåºåæå³è¾¹çå¼å§æ¯è¾ï¼æ¾å°æ¯å ¶å°çæ° int j = i; while (j > 0 && tmp < arr[j - 1]) { arr[j] = arr[j - 1]; j--; } // å卿¯å ¶å°çæ°ï¼æå ¥ if (j != i) { arr[j] = tmp; } } return arr; } }