【剑指offer】不使用新变量,交换两个变量的值,C++实现
生活随笔
收集整理的這篇文章主要介紹了
【剑指offer】不使用新变量,交换两个变量的值,C++实现
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
# 題目
????? 不使用新變量,交換兩個變量的值。
# 思路
方法一:使用加減法操作,交換兩個變量的值。
????? 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++实现的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 嵌入式软硬件开发中遇到的坑
- 下一篇: MyEclipse中的web项目之前有个