A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

实现两个整数值的交换有三种方式:
1,最简单也最明了的方式,创建一个整型变量,相当于容器,临时存储整数的值
    int a=10,b=23;
    int temp = a;
    a = b;
    b = temp;

    这种方式的优点
         优点:简单明了,可读性强
    缺点:需要定义临时变量用于交换,占用内存
2,这种方式不创建变量,直接通过运算交换两个数的值
    {
        a = b-a;
        b = b-a; // b = b -(b -a) =b-b+a=a;
        a = b+a; // a = b+a = a+b-a =b   
    }
    优点:不用额外定义变量,在一定程度上节省了内存
3,通过位运算及其性质交换两个数的值
        {
        a = a ^ b; //异或运算有个性质,一个数与另外一个数异或两次,不管次序如
        //何,还等于那个数本身
        b = a ^ b; //相当于b = a ^ b ^b =a;
        a = a ^ b; //a = (a^b)^a=b
    }

4 个回复

倒序浏览
最后一个的优点是:显着调调的
回复 使用道具 举报
最后一个的优点是显着调用的  很好 谢谢补充
回复 使用道具 举报
后知后觉4778 发表于 2015-12-12 21:46
最后一个的优点是显着调用的  很好 谢谢补充

最后一个的优点听不明白,什么叫显着调用?
回复 使用道具 举报
好像是这样
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马