入门级编程与数学

专题:两个数相互交换

2017-03-14  本文已影响2人  Xplorist

两个数交换

思路:
1.空间换时间-用中间变量
2.时间换空间-用计算方法来代替使用中间变量(1,用加减法2.用异或)

空间换时间

    public void test8(int a,int b){
        int t=a;
        a=b;
        b=t;
    }

时间换空间:加减法

    public void test9(int a,int b){
        a=a+b;
        b=a-b;
        a=a-b;
    }

时间换空间:异或

 思路:把数换成二进制思考
 计算机底层是通过二进制进行运算
    public void test10(int a,int b){
        a=a^b;
        b=a^b;
        a=a^b;
    }
上一篇下一篇

猜你喜欢

热点阅读