简单排序中插入排序相对于另外两种(冒泡排序、选择排序)效率要高。
插入排序规则:从左边第二个开始讲该数据项往前插入到合适的位置,若该数据项比第一个小则插入到第一个数据项的前面,否则位置不变。然后依此规则将第三个数据域前面的数据进行比较,插入到合适的位置。依次将后面所有的数据插入到前面合适的位置。
插入排序是稳定排序。
import java.util.Arrays;
public class InsertSort {
/**
* 插入排序
* @param args
*/
public static void main(String[] args) {
int[] a={24,12,65,34,100,11,23,76,34};
System.out.println("排序前:"+Arrays.toString(a));
for(int i=1;i<a.length;++i){
int temp=a[i];
int j=i-1;
while(j>=0&&a[j]>temp){ //找出数据应插入的位置,数据大于待插入值向后移一位
a[j+1]=a[j];
j--;
}
if(j!=i-1){
a[j+1]=temp;
}
}
System.out.println("排序后:"+Arrays.toString(a));
}
}
插入排序
原文:http://www.cnblogs.com/diqigan/p/3962819.html