zoukankan      html  css  js  c++  java
  • 【c】交换两个数字或值的各种算法实现

    DATE: 2018.12.11


    交换两个数字或值的各种算法实现主要有以下五种算法实现:

    1、借助临时变量temp:

    (1) 值传递方式:

    int swap(int a, int b)
    {
      int temp;
      temp = a;
      a = b;
      b = temp;
    }
    

    (2) 引用传递:

    int swap(int &a , int &b)
    {
      int temp = a;
      a = b;
      b = temp;
    }
    

    (3) 指针传递:

    int  swap(int **a,int ** b)
    {
      int* temp = *a;
      *a = *b;
      *b = temp;
    }
    
    2、不借助临时变量实现交换:

    (1) 通过加法:

    int swap(int a , int b)
    {
      a =a + b;
      b = a - b;
      a = a - b;
    }
    

    (2) 通过异或:

    int swap(int a, int b)
    {
       a = a^b;
       b = b^a;
       a = a^b;
    }
    

    THE END!

  • 相关阅读:
    适者生存还是强者生存
    写给十岁的清为
    毕业后的十年
    Python3 字符编码
    线段树模板
    F
    E
    D
    C
    B
  • 原文地址:https://www.cnblogs.com/SoaringLee/p/10532212.html
Copyright © 2011-2022 走看看