您的位置:首页 > 其它

交换两个数的值的N中方法

2015-02-02 16:29 204 查看
将两个数值交换的方法有很多,一般的做法有:

int a,b;
int x;

x = a;
a = b;
b = x;
以上方法增加了一个变量。

如何做一个通用函数进行值变换呢?有,通过指针的方法:

int a,b;
int x;

void chang(int *a,int *b)
{
int x;
x = *a;
*b = *a;
*a = x;
}


但这也还是增加了一个变量,如何在不增加变量的情况下交换两个数的值呢?

int a,b;

a ^= b;
b ^= a;
a ^= b;
还有没有更高明的做法交换两个数的值呢?有,通过引用的方法:

int a,b;

void chang(int &a,int &b)
{
a = a + b;
b = a - b;
a = a - b;
}


或许还有更好的方法,有待我们去发现去增加。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: