5种方法巧妙交换变量值
来源:互联网 发布:不备案域名 编辑:程序博客网 时间:2024/06/01 18:46
今天我们看一道十分经典的面试题,交换2个整数变量的值。
在算法竞赛中,最简单粗暴的方法:
System.out.println("a:" + b + ",b:" + a);
在开发中,最常用的方法:
int c;c = a;a = b;b = c;
法一-位运算:
a = a^b;b = a^b;//a^b ^ b = aa = a^b;//a^b ^ a = b
a = a+b;b = a-b;//a+b-b=aa = a-b;//a+b-a=b
<span style="white-space:pre"></span>b = (a+b)-(a=b);
测试源代码:
//面试题:交换2个整数变量的值public class OperatorTest {/** * 权兴权意-20160918 */public static void main(String[] args) {// TODO Auto-generated method stubint a = 10;int b = 20;System.out.println("a:" + a + ",b:" + b);System.out.println("------------");//竞赛//System.out.println("a:" + b + ",b:" + a);//开发/*int c;c = a;a = b;b = c;*///面试/*a = a^b;b = a^b;//a^b ^ b = aa = a^b;//a^b ^ a = ba = a+b;b = a-b;//a+b-b=aa = a-b;//a+b-a=b*/b = (a+b)-(a=b);System.out.println("a:" + a + ",b:" + b);}}
0 0
- 5种方法巧妙交换变量值
- 3种交换变量值的方法
- 两种交换变量值的方法
- 交换变量值的三种方法
- 三种方法交换变量值
- 交换变量值的方法
- 一个巧妙的变量值之间的交换
- c\c++交换两变量值的三种方法
- 实现两个变量值交换的三种方法
- 交换两个变量值的三种方法
- JavaScript交换两个变量值的四种方法
- 实现两个变量值交换的3种方法
- 五种交换两个变量值的方法
- java交换变量值的几种方法
- 变量值的交换方法总结
- 变量值的交换方法总结
- 变量值的交换方法总结
- 交换两个变量值的方法
- 友盟数据统计(可以参照umeng集成文档)
- 《Effect C++》学习------条款19:设计class犹如设计type
- 队列和栈,c++
- Codeforces Round #372 (Div. 2) -- D. Complete The Graph(Dijkstra单源最短路)
- Android 6.0 运行时权限处理
- 5种方法巧妙交换变量值
- SRIO学习(五)——SerDes Macro(串行解串宏)
- (4/8 诱骗式攻击)如何成为一名黑客(网络安全从业者)——网络攻击技术篇
- 网址保存()
- micro SD(TF)卡详解
- 关于友盟推送
- bzoj 3670: [Noi2014]动物园 KMP算法
- (5/8 软件漏洞攻击利用技术)如何成为一名黑客(网络安全从业者)——网络攻击技术篇
- 高效敏捷开发初体验