从第一个开始和前面的数进行比较,直到找到位置。排序需要保证排序算法的稳定性,——即关键字相同的情况下,假设排序之前a在b的前面,则排序之后a仍然在b的前面。
直接插入排序法
public static int[] insert(int[]arr){
for(int i=1;i<arr.length;i++){
int temp=arr[i],j;
for(j=i-1;j>=0&&temp<arr[j];j--){
arr[j+1]=arr[j];
}
arr[j+1]=temp;
}
return arr;
}
衡量排序算法的重要指标是时间复杂度和空间复杂度,排序算法的时间复杂度由算法执行中的元素比较次数和移动次数决定。