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!