插入排序算法思路是把無序集合逐步轉化成有序集合。
開始時無序集合爲所有待排序數,而有序集合爲空。
每一趟排序會把無序集合中的一個數插入到有序集合中。
插入的過程,就是尋找正確的位置的過程。
/**
* 直接插入排序算法
* @param v
* @return
*/
public int insertionSort(T v[]) {
int n = v.length;
for (int i = 1; i < n; i++) {
int j = i - 1;
T temp = v[i];
for (; j > -1 && temp.compareTo(v[j]) < 0; j--) {
v[j + 1] = v[j];
}
v[j + 1] = temp;
}
return 0;
}