需要引入中间变量
第一种方法:
void swap(int a, int b)
{
int tmp = a;
a = b;
b = tmp;
}
第二种方法(指针):
void swap(int *a, int *b)
{
int tmp = *a;
*a = *b;
*b = tmp;
}
不需要引入中间变量
第三种方法:
void swap(int a, int b)
{
a = a + b;
b = a - b;
a = a - b;
}
第四种方法(位操作):
void swap(int a, int b)
{
a = a ^ b;
b = a ^ b;
a = a ^ b;
}
第五种方法(C++引用)
void swap(int &a, int &b)
{
int tmp = a;
a = b;
b = tmp;
}