不用第三个变量, 交换两变量的值 (C++)
kitt
posted @ 2014年2月28日 17:22
in 技术类 Tech
, 1633 阅读
解法还挺多的, 这里有3种。
1. 使用异或(XOR), a ^ a = 0
int a = 3, b = 7; a = a ^ b; // a = 3 ^ 7 b = a ^ b; // b = 3 ^ 7 ^ 7 = 3 a = a ^ b; // a = 3 ^ 7 ^ 3 = 7
2. 求和, 感谢elliot提供这种解法。
int a = 3, b = 7; a = a + b; // a = 10 b = a - b; // b = 3 a = a - b; // a = 7
3. 求差
int a = 3, b = 7; a = b - a; // a = 4 b = b - a; // b = 3 a = b + a; // a = 7
2014年3月04日 07:45
a = a + b;
b = a - b;
a = a - b;
2014年3月05日 00:24
2014年3月10日 12:00
@kitt:
我是晓阳~~
这个是我当时BF的面试题,回来跟我说,我也是想到的是a=a+b, b=a-b,a=a-b
你这个我还没想到,我发给他看看哈哈
2014年3月10日 13:15
回复能看到吗? @xy:
2014年3月18日 10:42
void swap( int &r,int &s )
{
if( r < s )
{
--s;
swap( r,s );
++r;
}
else if( r > s )
{
--r;
swap( r,s );
++s;
}
}
2014年3月18日 10:46
void swap( int &r,int &s )
{
throw r;
catch (int what )
{
r = s;
s = what;
}
}
2014年3月24日 02:54
@kitt: 我向来只知道这一种解法...倒是要感谢你让我见识了更多的方法。
2014年3月24日 08:00
@elliot: : )
2022年9月16日 13:08
AP 10th Class Science Model Paper 2023 Pdf Download may useful to both Telugu Medium, English Medium and Urdu Medium 10th class students of the state board to score better marks in the exams like SA-1, SA-2, FA-1, FA-2, FA-3, FA-4. AP 10th Science Question PaperThese practice model papers not only helped in getting marks but also improve the student’s knowledge of science.AP 10th Science Model Paper 2023 Pdf with answers suggested for all kinds of exams held under BSEAP along with assignments were made with the instructions of Leading educational institutes, Education portals of the state such as Sakshi Education, Eenadu Pratibha.