算法实现两个数交换(多种方法)
来源:互联网 发布:闹钟软件 编辑:程序博客网 时间:2024/05/16 19:52
对于实现两个数交换的方法,有很多种。
首先可以区分是否利用第三个变量:
一、使用第三个变量
int a = 3, b = 5, c;cout<<"===交换前==="<<endl;cout<<"a = "<<a<<endl;cout<<"b = "<<b<<endl;c = a;a = b;b = c;cout<<"===交换后==="<<endl;cout<<"a = "<<a<<endl;cout<<"b = "<<b<<endl;
二、不使用第三个变量
1、异或方法(高效)
<span style="font-size:24px;"> int a = 3, b = 5;cout<<"===交换前==="<<endl;cout<<"a = "<<a<<endl;cout<<"b = "<<b<<endl; //解释如下:a = a ^ b; //a = 3 ^ 5b = a ^ b; //b = (3 ^ 5) ^ 5a = a ^ b; //a = (3 ^ 5) ^ 3cout<<"===交换后==="<<endl;cout<<"a = "<<a<<endl;cout<<"b = "<<b<<endl;</span>
2、加法
int a = 3, b = 5;cout<<"===交换前==="<<endl;cout<<"a = "<<a<<endl;cout<<"b = "<<b<<endl;//解释如下:a = a + b;//a = 3 + 5b = a - b;//b = 8 - 5a = a - b;//a = 8 - 3cout<<"===交换后==="<<endl;cout<<"a = "<<a<<endl;cout<<"b = "<<b<<endl;
3、乘法
int a = 3, b = 5;cout<<"===交换前==="<<endl;cout<<"a = "<<a<<endl;cout<<"b = "<<b<<endl;//解释如下:a = a * b;//a = 3 * 5;b = a / b;//b = 15 / 3;a = a / b;//a = 15 / 5;cout<<"===交换后==="<<endl;cout<<"a = "<<a<<endl;cout<<"b = "<<b<<endl;
0 0
- 算法实现两个数交换(多种方法)
- c语言:多种方法实现两个数的交换
- 多种算法实现两数交换
- 位运算和关于两个数交换的多种方法
- 用多种方法交换两个数的值
- 用多种方法交换两个数的值(转载)
- 代码实现两个数交换方法
- 两个数交换算法
- 请自己实现两个整数变量的交换(多种方法)
- 两个数实现交换
- 交换两个数的值多种解法
- 交换两个变量的值(多种方法)
- 交换两个变量的多种方法
- 交换两个数的算法
- C/C++用多种方法交换两个数a和b的值
- 交换两个数方法总结
- 交换两个数的方法
- 两个数的交换,三种方法实现
- nginx机制-从源码分析(1)
- Executor和ExecutorService
- LeetCode-53-Maximum Subarray(DP/分治)-Medium
- 消息队列NetMQ使用介绍
- UNREAL FRAMEWORK & NETWORK
- 算法实现两个数交换(多种方法)
- UITextFielddelegate委托方法注释
- Python 遍历字典——学习笔记
- iOS学习之路-超级猜图
- iOS开发检测项目中哪个库包含了idfa
- vim 配置
- jsp访问WEB-INF下面的资源-jsp
- 我的java学习之路,想象,图形界面
- Android 编程技巧之 ----- ViewHolder 的简洁封装