배열을 받으면 순서를 뒤집는 프로그램 작성
- 예시) 입력: {1, 2, 3, 4, 5} 출력: {5, 4, 3, 2, 1}
- 처음 요소와 마지막 요소를 교환하고, 범위를 좁혀간다.
- 홀수와 짝수의 구분이 상관없음
코드
for(int i = 0; i < arr.length/2; i++) {
int tmp = arr[i];
arr[i] = arr[arr.length-1-i];
//처음과 마지막 요소 교환
//arr.length-1을 해야 arr의 마지막 요소에 접근한다.
arr[arr.length-i-1] = tmp;
}
for(int i : arr ) {
//개선된 for문!
System.out.println(i); //확인
}
note!
- arr.length – 1이 arr의 마지막 index이다.
- length/2를 할 경우, 홀수는 center index이며, 짝수는 center+1 index이다 (python median 포스트를 보면 이해가 될 듯)
- 그렇기 때문에, 홀수와 짝수의 구분이 상관없다. (center index에는 접근을 안하게 되는데, 홀수는 어차피 교환을 하지 않고, 짝수는 진짜 center까지 접근을 하기 때문)
soae0923