public static void main(String[] args)
{
try
{
swapAlgo(51, 81);
}
catch (Exception e)
{
e.printStackTrace();
}
}
// 스왑 알고리즘
// 메모리 공간을 절약하기 위해 만들어진 알고리즘이나,
// 성능상으로는 비슷하거나 컴파일러에 따라 더 떨어질 수 있다.
public static void swapAlgo(int target1, int target2) throws Exception
{
// target1 = target1, target2 = target2
System.out.println("target1 : " + target1 + " , target2 : " + target2);
System.out.println("==============================");
target1 = target1 ^ target2;
// target1 = target1 ^ target2, target2 = target2
System.out.println("target1 : " + target1 + " , target2 : " + target2);
target2 = target1 ^ target2;
// target1 = target1 ^ target2, [ target2 = target1 ^ target2 ^ target2 => target1 ^ 0 => target1
System.out.println("target1 : " + target1 + " , target2 : " + target2);
System.out.println("==============================");
target1 = target1 ^ target2;
// target1 = target1 ^ target2 ^ target1 => 0 ^ target2 -> target2, target2 = target1
System.out.println("target1 : " + target1 + " , target2 : " + target2);
}
'Programming Languages > Java' 카테고리의 다른 글
[ Java ] CSV 읽기 기능 구현 (0) | 2021.10.25 |
---|---|
[ Java ] Java 설치 (0) | 2021.08.01 |
[ Java ] Crontab 기능 구현 (0) | 2021.05.12 |