将待排序的数据插入到已经排好序的数组当中去,再插入的过程当中我们需要将以前排好序的数据向后挪动,为新的元素提供空间。(O(n^2))
当我们需要插入的数据越小时,我们后移的次数也会明显增加,对效率产生影响。
public class InsertSort {public static void main(String[] args) {int[] arr = new int[] {23,43,54,32,78,77,3}; insertSort(arr);}public static void insertSort(int[] arr) {for(int i = 1;i=0;j--) {if(arr[j]>arr[j+1]) {int temp = arr[j];arr[j] = arr[j+1];arr[j+1] = temp;}}} System.out.println(Arrays.toString(arr));}}