两个变量的值的交换方法

来源:互联网 发布:mac下安装hadoop 编辑:程序博客网 时间:2024/05/01 09:33

题目描述
如何快速的交换两个变量的值
解法一:使用局部变量temp完成交换
解法二:使用加减运算完成交换
解法三:使用异或运算完成交换

code

//解法一:使用局部变量temp完成交换void swap1(int &a,int &b){    int temp =a;    a = b;    b = temp;}//解法二:使用加减运算完成交换void swap2(int &a,int &b){    a = a+b;    b = a-b;    a = a-b;}//解法三:使用异或运算完成交换void swap3(int &a,int b){    a^=b;    b^=a;    a^=b;}综上三种方法比较,法一比较传统,法二是有一些缺陷的,缺点是做a+b,a-b运算时可能导致数据溢出,相比,法三就比较好,采用了按位异或的方式。  
原创粉丝点击