Java教程

插入排序算法(java)

本文主要是介绍插入排序算法(java),对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

从索引为1的(第二个)位置开始插入。依次把后面的数插入到相应位置。摸牌一样。

Java代码如下

 public static void insertSort(int[] arr){
        if (arr == null || arr.length<2){
            return;
        }
        //从第二个位置开始,把当前位置的数和后面的数插入到相应的位置。
        for (int i = 1;i<arr.length;i++){
            //把i前面的数和i进行交换比较,把i插入到正确的位置
            for (int j=i-1;j>=0 && arr[j]>arr[j+1];j--){
                swap(arr,j,j+1);
            }
        }
    }

    private static void swap(int[] arr, int i, int j) {
        int tem = arr[i];
        arr[i] = arr[j];
        arr[j] = tem;
    }
    private static void swap1(int[] arr, int i,int j){
        arr[i] = arr[i] ^ arr[j];
        arr[j] = arr[i] ^ arr[j];//arr[j] = arr[i] ^ arr[j] ^ arr[j]  = arr[i];
        arr[i] = arr[i] ^ arr[j];//arr[i] = arr[i] ^ arr[j] ^ arr[i]  = arr[j];
    }

这篇关于插入排序算法(java)的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!