插入排序实现原理图解
Posted taoisall
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了插入排序实现原理图解相关的知识,希望对你有一定的参考价值。
对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入
从第一个元素开始,该元素认为已经被排序;
取出下一个元素,在已排序的元素序列中从后向前扫描;
如果已排序元素大于新元素,新元素继续比较前一个元素,直到找到已排序的元素小于或者等于新元素的位置;
将新元素插入到该位置后;
重复步骤2~4。
java实现
public class sort {
public static void main(String[] args) {
int [] a={2,5,1,3,6};
System.out.println("排序结果:"+insertSort(a));
}
public static int[] insertSort(int[] arr)
{
if (arr.length < 2)
return arr;
for (int i = 1;i < arr.length;i++) { //i=2
for (int j = i;j > 0;j--) { // j=2 25136
if (arr[j-1] > arr[j]) { // arr[1] >arr[2] 5>1 交换之后 21536
int temp = arr[j]; //j=1 arr[0]>arr[1] 2>1 12536
arr[j] = arr[j-1];
arr[j-1] = temp;
} else {
System.out.println("break");
break;//插入新的元素
}
}
}
return arr;
}
}
以上是关于插入排序实现原理图解的主要内容,如果未能解决你的问题,请参考以下文章
十大排序总结(js实现稳定性内外部排序区别时间空间复杂度冒泡快速直接选择堆直接插入希尔桶基数归并计数排序)