交换两个数的核心算法_艾孜尔江撰稿

交换两个数的值——核心算法

赋值运算

 int a, b, temp;
             a = 10;
             b = 5;
             temp = a;
             a = b;
             b = temp;

算数运算

思路一

 int a, b;
             a = 10;
             b = 2;
             a = b - a;//a=-8,b=10
             b = b - a;//a=-8,b=10
             a = b + a;//a=2,b=10 交换成功

思路二

int a = 3, b = 5;
	a = a + b;					//a = 3 + 5
	b = a - b;					//b = 8 - 5
	a = a - b;					//a = 8 - 3

思路三

int a = 3, b = 5;
	a = a * b;						//a = 3 * 5;
	b = a / b;						//b = 15 / 3;
	a = a / b;						//a = 15 / 5;

位运算

 int a, b;
             a = 20; b = 2;
             a = a ^ b;//a=10100,b=0010,两者相异或的结果是10110,并保存在a中。
             b = a ^ b;//a=10110,b=0010,两者相异或的结果是10100,并保存在b中,换成二进制是20
             a = a ^ b;//a=10110,b=10100,两者相异或的结果是00010,保存在a中,换成十进制是2
发布了19 篇原创文章 · 获赞 9 · 访问量 744

猜你喜欢

转载自blog.csdn.net/weixin_43867242/article/details/103553738