整数互换不用额外的空间

it2025-05-06  10

#include<iostream> using namespace std; void swap1(int &a,int &b) { a = a + b; b = a - 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 = a ^ b; } int main() { int a, b; cin>>a>>b; swap1(a,b); printf("a = %d\t,b =%d\n",a,b); return 0; }

加减容易越界,异或效率更高 一个数与本身异或为零,一个数与零异或为它本身,且异或具有交换性

最新回复(0)