개발 공부는 어려워
Published 2023. 3. 28. 11:46
비어있는 for문 study/java
반응형

알고리즘책에 있는 코드를 공부를 하다 처음보는 내용을 발견해 정리해본다.

static void shellSort(int[] a, int n) {
	int h;
	for (h = 1; h < n / 9; h = h * 3 + 1)         // h의 초기값을 구한다.
		;

	for (; h > 0; h /= 3) {
		for (int i = h; i < n; i++) {
			int j;
			int tmp = a[i];
			for (j = i - h; j >= 0 && a[j] > tmp; j -= h) {
				a[j + h] = a[j];
			}
			a[j + h] = tmp;
		}
	}
}

 

위 코드에서 

	for (h = 1; h < n / 9; h = h * 3 + 1)       
		;

 

이 부분을 처음 봤을때는 for문은 단순히 반목해서 무언가를 처리하는 함수가 아닐까 라고 생각 했었지만

조금 더 천천히 생각해보면 for문은 for(초기값; 반복조건; 증감식) 이므로 우리가 원하는 값은 결국

 

h = h * 3 + 1 이 부분으로 h 값을 변경 하는게 내용이다.

 

또한 밑에 세미콜론을 사용한건 비어있는 for문을 표현한 것이다.

반응형

'study > java' 카테고리의 다른 글

동기(sync) / 비동기(asyn)  (0) 2022.08.22
profile

개발 공부는 어려워

@신입개발자하랑이

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!