Appearance
选择排序:在排序的过程中,已排序的就是最终的最小值
插入排序:在排序的过程中,前面是当前排序的最小值,并不代表最终结果。如果当前元素比之前的元素小,则插入到之前的元素中去。
编码实战
java
public class InsertionSort {
private InsertionSort() {}
public static <E extends Comparable<E>> void sort(E[] array) {
for (int i = 1; i < array.length; i++) {
for (int j = i; j - 1 >= 0; j--) {
if (array[j].compareTo(array[j - 1]) < 0) {
swap(array, i, j);
}
}
}
}
private static <E> void swap(E[] arr, int i, int minIndex) {
E t = arr[i];
arr[i] = arr[minIndex];
arr[minIndex] = t;
}
}