您的位置:首页 > 其它

关于两个变量值互换问题

2016-05-16 23:23 246 查看
搞一个临时变量直接交换



int t = a;
a = b;
b = t;
[/code]

异或运算交换两个数

*begin ^= *end;

    *end ^= *begin;

    *begin ^= *end;

写成一句:

    *begin ^= *end ^= *begin ^= *end;

java:

a = (b ^= a ^= b) ^ a; 

运算交换

a=a+b;b=a-b;a=a-b;

用 std::reverse 颠倒一个区间
void reverse_by_std(char* str, int n)

{

  std::reverse(str, str + n);

}

关于两个变量值互换问题

参考文章:

陈硕 (用异或来交换两个变量是错误的) : http://blog.csdn.net/solstice/article/details/5166912


 RednaxelaFX (又一面试题,又一伪命题) : http://rednaxelafx.iteye.com/blog/134002
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: