本文采用三种方式实现两个数之间的交换,分别是①借助辅助变量temp的swap函数,②采用加减法的swap函数 ,③使用异或运算的swap函数。
现在直奔主题:
1、借助辅助变量temp的swap函数
I、引用类型形参
void swap(int &a, int &b) //引用类型方式
{
int temp; //辅助变量
temp = a;
a = b;
b = temp;
}
II、指针类型形参
void swap(int *a, int *b)
{
int temp;
temp = *a;
*a = *b;
*b = temp;
}
2、采用加减法的swap函数
void swap(int &a, int &b)
{
a = a + b;
b = a - b;
a = a - b;
}
3、使用异或运算的swap函数
void swap(int &a, int &b)
{
a = a ^ b;
b = a ^ b;
a = a ^ b;
}