zoukankan      html  css  js  c++  java
  • 【剑指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;
    }

  • 相关阅读:
    cs224n word2vec
    背包问题
    动态规划二
    动态规划
    递推求解
    Tmux 使用技巧
    LeetCode 75. Sort Colors
    LeetCode 18. 4Sum new
    LeetCode 148. Sort List
    LeetCode 147. Insertion Sort List
  • 原文地址:https://www.cnblogs.com/wanglei5205/p/9013045.html
Copyright © 2011-2022 走看看