package com.zlf.test;
public class InsertSortTest {
public static void main(String[] args) {
int [] a={8,9,7,5,1,4,6,2,7,5,1};
insertSort(a);
for(int i=0;i<a.length;i++){
System.out.println(a[i]);
}
}
public static void insertSort(int [] a){
for(int i=1;i<a.length;i++){
for(int j=i;j>0;j--){
if(a[j]<a[j-1]){
int temp=a[j-1];
a[j-1]=a[j];
a[j]=temp;
}
}
}
}
}
O(n^2)
描述:
1、从第一个元素开始 该元素可以认为已经被排序
2、取出下一个元素,在已经排序的元素序列中从后向前扫描
3、如果该元素(已排序)大于新元素,则将该元素移到下一个位置
4、重复步骤3 直到找到已排序的元素小于或者等于新元素的位置
5、将新元素插入到该位置中
6、重复步骤2