public class InsertSort {
public static int[] sort(int[] array){
int j;
//从下标为1的元素开始选择合适的位置插入,因为下标为0的只有一个元素,默认是有序的
for(int i = 1 ; i < array.length ; i++){
//记录要插入的数据,先把这个数据拿出来,之后前面的数组才可以有地方往后面挪
//给要插入的数据腾出地方
int tmp = array[i];
j = i;
//因为是j = i,所以temp本身就等于array[j],所以只能和他本身前面的比较,所以就是array[j - 1]
while(j > 0 && tmp < array[j-1]){//从已经排序的序列最右边的开始比较,找到比其小的数
array[j] = array[j-1];//向后挪动
j--;
}
array[j] = tmp;//存在比其小的数,插入
}
return array;
}
算法----插入排序InsertSort每一循环取一个元素插入到前面的有序数组中
最新推荐文章于 2021-01-29 19:44:32 发布
本文深入讲解了插入排序算法的实现原理及代码细节,通过具体的Java代码示例,展示了如何将未排序的元素逐个插入到已排序序列的适当位置,以达到整体排序的目的。
3563

被折叠的 条评论
为什么被折叠?



