直接插入排序
2013-05-24 15:54
246 查看
import java.util.Arrays; public class DirectSort { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub int[] a={48,1,2,5,19,3,35,1}; sort(a); System.out.println(Arrays.toString(a)); } /** * 直接插入排序核心思想是,把待插入数插入到前面有序队列, * 开始值是数组的第2个元素,因为第一个数就是有序的, * 然后待插入数和前面有序队列进行比较,如果待插数比前面有序数小 * 则交换,最后把tmp在插入到合适的位置 * @param a */ public static void sort(int[] a){ for(int i=1;i<a.length;i++){ int temp=a[i]; int j; for(j=i-1;j>=0&&a[j]>temp;j--){ a[j+1]=a[j]; } a[j+1]=temp; } } }