Skip navigation.
Home

不用中间变量如何实现两个值交换

如何不用中间变量如何实现两个值交换?有如下解决方法可供参考:
void swap1(int& a,int& b)
{
	a^=b;
	b^=a;
	a^=b;
}

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

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

__asm{
    xchg val1,val2
}

# python
a, b = b, a