在了解数组排序算法时,经常会遇到实现两个变量互换的需求,一般我们采用的方法是,创建一个新的临时变量来实现两个变量互换的效果,虽然,这种方式可以帮助我们实现两个变量的效果,但是,当我们创建一个新的变量时势必会增加系统资源的消耗,那么,当我们遇到该需求的时候,我们该如何实现两个整数的变量互换效果同时,又可以保障系统的高效呢?下面济南云服务器小编就来为大家分享不借助第三变量实现两个整数变量高效互换的效果。
方法一、使用加、减法:
关键代码:
int a = 5; int b = 10; a = a + b; // a现在是a和b的总和 b = a - b; // b现在是原来的a a = a - b; // a现在是原来的b System.out.println("a = " + a); // 输出: a = 10 System.out.println("b = " + b); // 输出: b = 5
方法二、使用异或运算news.hcsw666.com/:
关键代码:
int a = 5; int b = 10; a = a ^ b; // 通过异或运算得到一个临时值 b = a ^ b; // 利用异或运算的特性交换b的值 a = a ^ b; // 利用异或运算的特性交换a的值 System.out.println("a = " + a); // 输出: a = 10 System.out.println("b = " + b); // 输出: b = 5
评论