码迷,mamicode.com
首页 > 其他好文 > 详细

不使用临时变量交换两个变量值

时间:2020-03-23 12:37:13      阅读:81      评论:0      收藏:0      [点我收藏+]

标签:乘法   java   利用   四种   使用   减法   临时   亦或   变量   

题目:不使用临时变量交换两个变量值

分析:使用加、减、乘、亦或(aba==b),四种方法分别如下:


//方法一:利用加法
int Swap3(int *x, int *y)
{
	*x = *x + *y;//*x是二者和
	*y = *x - *y;//*y是*x
	*x = *x - *y;//*x是*y
}
 
//方法二:利用减法
int Swap1(int *x, int *y)
{
	*x = *x - *y;//*x是二者差值
	*y = *x + *y;//*x是*y
	*x = *y - *x;//*y是*x
}
 
//方法三:利用乘法
int Swap4(int *x, int *y)
{
	*x = (*x) * (*y);//*x是二者乘积
	*y = *x / *y;//*y是*x
	*x = *x / *y;//*x是*y
}
 
//方法四:利用除法
int Swap2(int *x, int *y)
{
	*x = *x ^ *y;
	*y = *x ^ *y;
	*x = *x ^ *y;
}
 
//方法五:创建临时变量
int Swap5(int *x, int *y)
{
	int tmp = *x;
	*x = *y;
	*y = tmp;
}

不使用临时变量交换两个变量值

标签:乘法   java   利用   四种   使用   减法   临时   亦或   变量   

原文地址:https://www.cnblogs.com/geniuszhd/p/12551446.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!