插入排序的核心思想:
插入排序法的排序思想就是从数组的第二个元素开始,将数组中的每一个元素按照规则插入到已排好序的数组中以达到排序的目的.一般情况下将数组的第一个元素作为启始元素,从第二个元素开始依次插入.由于要插入到的数组是已经排好序的,所以只是要从右向左找到比插入点(下面程序中的insertNote)小(对升序而言)的第一个数组元素就插入到其后面.直到将最后一个数组元素插入到数组中,整个排序过程就算完成.
<span style="font-size:18px;">public class InsertSort {
public static void sort(long[] arr) {
long tmp = 0;
for(int i = 1; i < arr.length; i++) {
tmp = arr[i];
int j = i;
while(j > 0 && arr[j] >= tmp) {
arr[j] = arr[j - 1];
j--;
}
arr[j] = tmp;
}
}
}</span>