@Test
public void insertionSortTest() {
data = new int[] { 3, 0, 1, 8, 7, 2, 5, 4, 9, 6 };
// 0번째는 볼 필요 없다.
int key = 0;// 비교를 시작하는 값
int j = 0;// key가 삽입될 위치
for (int i = 1; i < data.length; i++) {
key = data[i];
// key 보다 이미 정렬된 값이 더 클 경우 위치를 변경한다.
for (j = i - 1; j >= 0 && data[j] > key; j--) {
data[j + 1] = data[j];// 레코드를 오른쪽으로 이동한다.
}
// 다 이동했으면 key를 삽입한다.
data[j + 1] = key;
System.out.printf("%d번째: %s%n", i, Arrays.toString(data));
}
System.out.printf("정렬 완료: %s%n", Arrays.toString(data));
}