1、算法概念。
每次從無序表中取出第一個元素,把它插入到有序表的合適位置,使有序表仍然有序。
2、算法思想。
假設待排序的記錄存放在數組R[1..n]中。初始時,R[1]自成1個有序區,無序區為R[2..n]。從i=2起直至i=n為止,依序將R[i]插入目前的有序區R[1..i-1]中,產生含n個記錄的有序區。
public static void insertSort(int[] array) { int len = array.length; for (int i = 1; i < len; i++) { for (int j = i; j > 0; j--) { if ( array[j] < array[j - 1]) { Sort.swap(array, j, j - 1);//交換j和j-1 } else break; } } }
插入排序示意圖:
以上所述就是本文給大家分享的全部內容了,希望能夠對大家理解插入排序演算法有所幫助。