【剑指offer】不使用新变量,交换两个变量的值,C++实现
生活随笔
收集整理的这篇文章主要介绍了
【剑指offer】不使用新变量,交换两个变量的值,C++实现
小编觉得挺不错的,现在分享给大家,帮大家做个参考.
# 题目
不使用新变量,交换两个变量的值。
# 思路
方法一:使用加减法操作,交换两个变量的值。
A = A+B
B = A-B
A = A-B
方法二:使用异或运算,交换两个变量的值
A = A^B
B = A^B
A = A^B
# 代码
#include <iostream> using namespace std;void fun1(int m,int n) {cout << "方法一,基于加减法,交换两个变量" << endl;m = m + n;n = m - n;m = m - n;cout<<m<<" "<<n<<endl; }void fun2(int m,int n) {cout << "方法二,基于异或运算,交换两个变量" << endl;m = m^n;n = m^n;m = m^n;cout<<m<<" "<<n<<endl; } int main() {int m = 10;int n = 20;cout << "原始数值" << endl;cout<<m<<" "<<n<<endl;fun1(m,n);fun2(m,n);return 0; }
转载于:https://www.cnblogs.com/wanglei5205/p/9013045.html
总结
以上是生活随笔为你收集整理的【剑指offer】不使用新变量,交换两个变量的值,C++实现的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: 嵌入式软硬件开发中遇到的坑
- 下一篇: C++初探