private static void insertionSort(int[] arr) {
		if(arr.length < 2) return;
		
		int firstUnsortedNum;
		//索引i之前的全部是已排好序的数组元素
		for(int i=1; i<arr.length; i++){
			firstUnsortedNum = arr[i];
			
			//截取字数组
			int[] sortedArr = new int[i];
			for(int m=0; m<i; m++){
				sortedArr[m] = arr[m];
			}
			
			//用二分搜索找到arr[i]应该在什么位置
			int pos = binarySearch(firstUnsortedNum, sortedArr);
			pos = Math.abs(pos);
			
			//把所有比firstUnsortedNum大的数全部右移一位
			int j = i-1;
			while(j>=pos){
				arr[j+1] = arr[j];
				j--;
			}
			arr[pos] = firstUnsortedNum;
		}
	}