如何交換兩個整數是個再平常不過的問題,這裏給出三種方法。第一種就是大家最熟知的使用tmp,後兩種不使用第三變量。
//演示交換兩個整數的三種方法
#include <iostream>
using namespace std;
int main(){
//方法一,使用第三方變量
int a = 10;
int b = 5;
cout<<"Method1:"<<endl;
cout<<"Before change: a="<<a<<" b="<<b<<endl;
int tmp = a;
a = b;
b = tmp;
cout<<"After change: a="<<a<<" b="<<b<<endl;
//方法二,使用加減法
a = 10;
b = 5;
cout<<"Method2:"<<endl;
cout<<"Before change: a="<<a<<" b="<<b<<endl;
a = a + b;
b = a - b;
a = a - b;
cout<<"After change: a="<<a<<" b="<<b<<endl;
//方法三,使用異或運算及其交換律
a = 10;
b = 5;
cout<<"Method3:"<<endl;
cout<<"Before change: a="<<a<<" b="<<b<<endl;
a = a ^ b;
b = a ^ b;
a = a ^ b;
cout<<"After change: a="<<a<<" b="<<b<<endl;
return 1;
}