方法一:

    int i = 3, j = 5;
    int c = i;
    i = j;
    j = c;

    方法二:

    int i = 3, j = 5;
    int n = i + j;
    i = n - j;
    j = n -i;

    方法三:

    int i = 3, j = 5;
    i = i + j;
    j = i - j;
    i = i - j;

    方法四:

    int i = 3, j = 5;
    i = j - i;
    j = j - i;
    i = j + i;

    方法五:异或运算xor(^)

    int i = 3, j = 5;
    i^ = j;     // i = i ^ j
    j^ = i;     // j = i ^ j
    i^ = j;     // i = j ^ i

 异或运算解析

            0011(i)
    xor     0101(j)
    ----------------------
            0110(i)

            0110(i)
    xor     0101(j)
    ----------------------    
            0011(j)

            0011(j)
    xor     0110(i)
    ----------------------
            0101(i)

窃以为第五种方法效率最高:位运算,cpu直接进行运算,效率高。

相关文章:

  • 2021-12-14
  • 2021-12-31
  • 2021-09-24
  • 2021-04-28
  • 2021-11-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2021-11-19
  • 2021-04-08
  • 2021-12-10
  • 2022-12-23
  • 2021-11-04
  • 2022-03-02
  • 2022-12-23
相关资源
相似解决方案