不用临时变量交换两个变量的值
2016-04-07 12:26
232 查看
不用临时变量交换两个变量的值
假定a = 1, b = 2; 不用临时变量交换a与b的值方法一:
a = a + b;
b = a - b;
a = a - b;
第二句 b = a - b,其中 a = a + b,所以有 b = (a + b) - b = a;
第三句 a = a - b,其中 a = a + b,b = (a + b) - b,所以有 a = a + b - [(a + b) - b] = b;
方法二:
a = a ^ b;
b = b ^ a;
a = a ^ b;
第二句 b = b ^ a,其中 a = a ^ b,所以有 b = b ^ (a ^ b) = a ^ 0 = a; 因为 b ^ b = 0;
第三句 a = a ^ b,其中 a = a ^ b,b = b ^ (a ^ b),所以有 a = a ^ b ^ b ^ (a ^ b) = b;
相关文章推荐
- 10个开源的PHP网站内容管理系统
- Eclipse maven
- 最少跳数到达末尾(Jump Game)
- Hibernate HQL
- hdu1358kmp串循环节
- IIS express 7.5 设置默认文档
- YouKu iOS笔试题一
- 七月算法机器学习笔记2 数理统计与参数估计
- 最长递增子序列
- POJ 3669
- 运行BinaryNet代码中遇到的问题
- 待解决问题合集
- (Algorithm)不相交集(Disjoint-set)
- 马士兵设计模式笔记1之单例的几种实现方式
- nginx+nginx-rtmp-module+ffmpeg搭建流媒体服务器
- Android学习——ActivityManager与Proxy模式的运用
- What are some good libraries for dynamic Bayesian networks
- 【Python】 做一个简单的 http server
- JavaPersistenceWithHibernate第二版笔记-第五章-Mapping value types-004嵌套组件的注解AttributeOverrides
- 理解angular中的module和injector,即依赖注入