Sunday, October 4, 2015

[19.1] SWap a number without temporary variables

1. Example

ab
=> ba

2. Implementation


public static void swap(int a , int b)
{
       // 5,9 ===> 9,5
       a = b-a; // SECOND - ONE = DIFF = 9-5=4
       b = b-a; // SECOND - DIFF = ONE = 9-4 =5
       a = a+b; // DIFF + ONE = SECOND = 4 + 5 = 9
}


public static void swap (int a , int b)
{
       // 5, 9 => 9,5
       a = a^b; // 0101 ^ 1001 = 1100
       b = a^b; // 1100 ^ 1001 = 0101 = original a
       a = a^b; // 1100 ^ 0101 = 1001 = original b
}
3. Similar Ones

No comments:

Post a Comment