Java 交换值算法 不用中间变量,换运算

来源:互联网 发布:贵州大数据产业规划 编辑:程序博客网 时间:2024/05/16 02:12
/** * 交换值演示,演示了空间换时间,和时间换空间的简单例子. *  * @author weep *  */public class SwapAB {public static void main(String[] args) {// 两种值交换的方式,用中间变量空间复杂度高于不用中间变量,但时间复杂度要低于不用中间变量.// 常规写两个值的交换int a = 100;int b = 200;System.out.println("初始值 a=100 b=200");// 中间变量int c;// 复制给中间变量,临时存c = a;// 把b的值赋给a.a = b;// 把c中存的a的初始值赋给,至此完成了常规的值交换b = c;System.out.println("a = " + a + ", b = " + b);// 不用中间变量的写法a = a + b;b = a - b;a = a - b;System.out.println("a = " + a + ", b = " + b);// 第二种不用中间变量,换运算,效率比加法高点a = a ^ b;b = a ^ b;a = a ^ b;System.out.println("a = " + a + ", b = " + b);}}

原创粉丝点击