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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© cuin 中级黑马   /  2015-6-25 13:12  /  562 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

今天学习了三种交换值的方法,简要代码如下:
  1. //定义变量a,b和临时变量temp
  2. int a=1,b=2,temp=0;

  3. 1.借助临时变量
  4. temp=a;
  5. a=b;
  6. b=temp;

  7. 2.加减法
  8. a=b-a;
  9. b=b-a; //b-(b-a)=b-b+a=a
  10. a=b+a; //a+b-a=b

  11. 3.按位异或
  12. a=a^b;
  13. b=a^b;  //a^b^b=a
  14. a=a^b;  //a^b^a=a^a^b=b
复制代码


原来交换值的时候一直用的是第一种方法,学了几天之后学了两种新方法,细细想来方法甚妙。
但是有个问题是,这三种方法执行效率如何,有高低之分吗

1 个回复

倒序浏览
第三种方法不错,可以防止溢出
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马