INSRTION SORT
插入排序主要使用在待排序元素个数较少时
插入排序实现的java代码如下:
/**
* 〈INSERTION-SORT function〉
* @param sortArray 待排序数组
* @return 排序完成之后的数组
*/
public static int[] insertSort(int[] sortArray) {
int length = sortArray.length; //数组长度
int i = 0; //当前值位置
int j = 0; //指向j前的位置
int key = 0; //当前要进行插入排序的值
//从数组第二个位置开始遍历值
for( j = 1; j < length; j++){
key = sortArray[j];
i = j - 1;
//sortArray[i]值比当前值大,sortArray[i]后移一位,空出i的位置,好让下一次循环的值后移
while(i >=0 && sortArray[i] > key){
sortArray[i+1] = sortArray[i];//将i值后移
i--; //i前移
}//跳出循环(找到要插入的中间位置或已遍历到0下标)
sortArray[i+1] = key;将当前值插入
}
return sortArray;
}