插入排序:(我们假设数据列(D0,D1,D2,…DN))中,“已排序部分”是D0~Di-1。
“待排序部分”的起始元素是Di(i大于等于1小于等于n),排序过程如下:
 
	public class Sort {
  public static void main(String[] args) {
			  int[] a = new int[10];
			  for (int i = 0; i < a.length; i++) {
				    int b = (int) (Math.random() * 100);
				    a[i] = b;
			  }
			  System.out.println("排序前:");
			  for (int j = 0; j < a.length; j++) {
				    System.out.print(a[j]+" ");
			  }
			  System.out.print("\n");
			  insertSort(a);
			  System.out.println("排序后:");
			  for (int k = 0; k < a.length; k++) {
				    System.out.print(a[k]+" ");
			  }
		}
		
		public static int[] insertSort(int[] b){
			  for(int i=0;i<b.length;i++){
				  int currentValue = b[i];
				  int position = i;
				    for(int j=i-1;j>=0;j--){
					    if(b[j]>currentValue){
						      b[j+1]=b[j];
						      position-=1;
					    }else{
						      break;
					    }
				   }
				    b[position]=currentValue;
			   }
			return b;
		}
	}
原文:http://www.cnblogs.com/kimyong/p/5898624.html