三种交换值的方法

三种交换方法

1、通过中间变量交换

public void swap(int a, int b){
    int tmp = a;
    a = b;
    b = tmp;
}

2、通过加减交换

//该方法两数相加可能会超出int范围而损失精度
public void swap(int a, int b){
    a = a + b;
    b = a - b;
    b = a - b;
}

3、通过异或交换

// 该方法是最高效的方法,也不会超出int的范围
public void swap(int a, int b){
    a = a ^ b;
    b = a ^ b;
    a = a ^ b;
}
点赞