实现两个整数值的交换有三种方式: 1,最简单也最明了的方式,创建一个整型变量,相当于容器,临时存储整数的值 int a=10,b=23; int temp = a; a = b; b = temp;
这种方式的优点 优点:简单明了,可读性强 缺点:需要定义临时变量用于交换,占用内存 2,这种方式不创建变量,直接通过运算交换两个数的值 { a = b-a; b = b-a; // b = b -(b -a) =b-b+a=a; a = b+a; // a = b+a = a+b-a =b } 优点:不用额外定义变量,在一定程度上节省了内存 3,通过位运算及其性质交换两个数的值 { a = a ^ b; //异或运算有个性质,一个数与另外一个数异或两次,不管次序如 //何,还等于那个数本身 b = a ^ b; //相当于b = a ^ b ^b =a; a = a ^ b; //a = (a^b)^a=b }
|