最近在看一些文章时,发现了几种交换两个数值变量值得算法,现在作一下归纳总结!小算法,大智慧!
1.传统做法
void swap(int &a, int &b)
{
int temp = a;
a = b;
b = temp;
}
2.通过加减运算实现
void swap(int &a, int &b)
{
a = a + b;
b = a - b;
a = a - b;
}
3.通过按位异或运算实现
void swap(int &a, int &b)
{
a = a^b;
b = a^b;
a = a^b;
}