插入排序

插入排序:典型的比较排序

package org.study.order;

import java.util.Arrays;

public class InsertionSort {

    public static void main(String[] args) {
        int[] arr = {5, 2, 9, 1, 10, -1, 11};
        int[] last = insertionSort(arr);
        System.out.println(Arrays.toString(last));
    }

    public static int[] insertionSort(int[] arr) {

        for (int end = 1; end < arr.length; end ++) {
            int cur = end;
            while (cur > 0 && compare(arr[cur], arr[cur - 1]) > 0) {
                swap(cur, cur - 1, arr);
                cur --;
            }
        }

        return arr;
    }

    public static int compare(int a, int b) {
        if (a >= b) {
            return -1;
        } else {
            return 1;
        }
    }

    public static void swap(int indexA, int indexB, int[] arr) {
        int tmp = arr[indexA];
        arr[indexA] = arr[indexB];
        arr[indexB] = tmp;
    }
}


posted @ 2021-03-06 22:20  Leo-Wong  阅读(23)  评论(0)    收藏  举报