shellSort 이해하기
static void shellSort(int[] a, int n) { for (int h = n / 2; h > 0; h /= 2) { for (int i = h; i = 0 && a[j] > tmp; j -= h) { //j가 0보다 크고, 해당 요소수가 비교할 값 보다 크면 a[j + h] = a[j]; //비교할 값이 있었던 자리에 j번째 요소값 넣기 그리고 j는 h만큼 이동후 j가 음수면 반복 종료 } a[j + h] = tmp; // 집게로 뽑은 값을 비교한 j자리에 넣어준 것임(마지막에 j-=h를 실행하고 음수인 것을 확인하고 반복문을 종료하였기 때문) ..