3种方法解决交换两个数
来源:互联网 发布:网络红人毒药身世 知乎 编辑:程序博客网 时间:2024/06/05 10:53
让我们来看一道经典的编程题:int a= 7;int b = 9;请通过编程交换a与b的值。
解法一:
通过引入第三个数来用来做中转站:
int c = a; //目的将a的值赋给 c,此时a和c 的值都为7;
a = b;//目的将b 的值赋给a,此时a和b 的值都为9;
b = c;//目的将c的值付给b,此时b和c的值都是9;
最终通过以上步骤,a=9;b=7(c =9),从而实现交换a与b的值。
解法二
通过加减法来实现:
a = b+a;// 此时a的值为7+9,b为9
b=a-b;//此时b 的值为7+9-9;此时a的值为7+9
a=a-b;//此时a的值为7+9-7,b的值为第7+9-9
解法三
通过位运算符来实现:
a=a^b;//a的值为a^b
b=a^b;//b的值为a^b^b,即 a
a=a^b;//a 的值为a^b^a即 b
位运算符相同为假,不同为真。主要运用的原理是a^a的值是0,0^ b的值是 b;
阅读全文
1 0
- 3种方法解决交换两个数
- 两种交换两个数方法
- 交换两个数的三种方法
- 两个数交换的三种方法
- 交换两个数的三种方法
- 交换两个数的五种方法
- 交换两个数的三种方法
- 交换两个数的四种方法
- 交换两个数的三种方法
- 交换两个数的两种方法
- 交换两个数的四种方法
- 两个数交换的三种方法
- 交换两个数方法总结
- 交换两个数的方法
- 就地交换两个数的三种方法
- 两个数的交换,三种方法实现
- Java交换两个数的四种方法和效率
- Java交换两个数的四种方法和效率
- words Demo总结(二)
- Freeline的使用
- Python的ASCII, GB2312, Unicode , UTF-8 相互转换
- shell命令--cp
- ubuntu下qt-creator不支持写中文注释
- 3种方法解决交换两个数
- A
- win7下cuda8.0安装跑gpu版tensorflow
- LED灯
- HDU
- Android线程池的入门
- js将object转为json数据格式(java)
- 17暑假多校联赛1.3 HDU 6035 Colorful Tree
- Spring MVC文件上传下载(亲测可用)