基础算法java实现两个数交换

Posted 醉酒的小男人

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了基础算法java实现两个数交换相关的知识,希望对你有一定的参考价值。

package thread;

public class SwapTest {
    public static void main(String[] args) {
        swapNumber1();
        swapNumber2();
        swapNumber3();
        swapNumber4();
    }

    /**
     * 临时变量
     */
    public static void swapNumber1(){
        int a = 10;
        int b = 20;
        System.out.println("交换前1,a="+a+",b="+b);
        int tmp = a;
        a = 20;
        b= tmp;
        System.out.println("交换后1,a="+a+",b="+b);
    }

    /**
     * 两数相加保存和值
     */
    public static void swapNumber2(){
        int a = 10;
        int b = 20;
        System.out.println("交换前2,a="+a+",b="+b);
        a = a + b;
        b = a - b;
        a = a - b;
        System.out.println("交换后2,a="+a+",b="+b);
    }

    /**
     * 两数异或实现(一个数据对另一个数据异或两次,该数本身不变)
     */
    public static void swapNumber3(){
        int a = 10;
        int b = 20;
        System.out.println("交换前3,a="+a+",b="+b);
        a = a ^ b;
        b = a ^ b;   // a ^ b^ b = a
        a = a ^ b;   // a ^ a ^ b = b
        System.out.println("交换后3,a="+a+",b="+b);
    }

    /**
     * 运算符优先级
     */
    public static void swapNumber4(){
        int a = 10;
        int b = 20;
        System.out.println("交换前4,a="+a+",b="+b);
        b = (a+b) - (a = b);
        System.out.println("交换后4,a="+a+",b="+b);
    }
}

以上是关于基础算法java实现两个数交换的主要内容,如果未能解决你的问题,请参考以下文章

排序算法基础总结

基础算法java实现数组反转

基础算法练习(持续更新)

基础算法-冒泡排序与二分查找(JAVA实现)

交换排序—冒泡排序(Bubble Sort)算法原理以及Java实现

排序系列 之 简单选择排序及其改进算法 —— Java实现