直接插入排序
- 基本思想
将一个待排序的数据元素,按照其关键字大小插入到前面已经排好序的序列的适当位置,使得每次插入后的序列仍是有序序列,直到整个序列都成为有序序列为止
- 算法实现
/**
* 插入排序
* @return
*/
private static int[] insertionSort(int[] array){
for (int i = 1; i < array.length; i++) { //从数组的第二个位置开始迭代,i前面的为有序序列,i后面的为待排序的元素序列
int key = array[i];
int j;
for (j = i - 1; j <= 0 && array[j] > key; j--) { //每次将待排序元素与i前面有序序列进行比较,插入合适的位置
array[j + 1] = array[j];
}
array[j+1] = key;
}
return array;
}
折半插入排序
- 基本思想
- 算法实现
希尔排序
- 基本思想
- 算法实现