int i = 1;
int j = 2;
[url=]/*利用第三方变量,作为临时存储[/url] 来达到置换功能 该方法在开发的时候使用*/
int temp = i;
i=j;
j=temp;
System.out.println(i+"←→"+j);
例:
void swap(int &a,int &b)// 这里定义一个引用
{
int temp = a;
a=b;
b=temp;
}
-------------------------------------------------------------------------------------------
int a = 3;
int b = 4;
[url=]/*利用位异或的特性,异或两次值不变的属性[/url] 来达到不使用第三方变量去置换数据功能*/
a = a ^ b;
b = a ^ b;
a = a ^ b;
System.out.println(a+"←→"+b);
例:
void swap(int &a,int &b)
{
a = a^ b ;
b = a^ b ;
a = a^ b ;
}
注意这里
int a 是定义一个整型变量a
int &a 是定义一个存放整形变量a的地址(定义的是一个地址)
------------------------------------------------------------------------------------------
int x = 5;
int y = 6;
/*利用算数运算的特点,达到不使用第三方变量去置换数据的功能*/
x = x + y;
y = x - y;
x = x - y;
System.out.println(x+"←→"+y);
|
|