본문 바로가기

개발/JAVA

[JAVA] #05. SWAP(스왑) 기법 구현

 

 

SWAP(스왑) 기법 ( == 교환 )
: 두 변수의 값을 서로 맞바꾸는 기법
package java01;

public class mainClass {

	public static void main(String[] args) {

			// swap == 교환

			int x, y;
			int a, b;

			x = 111;
			y = 222;
			
			a = x;
			b = y;

			x = b;
			y = a;
			
			System.out.println(" x = " + x + " y = " + y);

	}
}

x와 y 값이 서로 바뀌었다.

 

 


 

예제 1. 배열 바꾸어보기

// 1. 선언, 2. 초기화
		int[] numbers = {10, 20, 30, 40, 50, 60, 70, 80, 90, 100, 110};
		
		for (int idx = 0; idx < numbers.length / 2; idx++) {
			// 스왑을 위한 임시변수 선언
			int temp;
			//앞쪽 원소 백업
			temp = numbers[idx]; 
			//뒷쪽 원소 값 복사
			numbers[idx] = numbers[numbers.length -1 -idx];
			// 백업 원소를 뒷쪽 칸에 복사
			numbers[numbers.length -1 -idx] = temp;
		} // end swap
		
		//출력
		for (int number: numbers) {
			System.out.printf("%4d", number);
		}
		
	}