插入排序 insertion sort:
构建有序序列,对于未排序的数据,从后向前扫描,找到适合的位置插入。
public static void main(String[] args) { int data[] = {6,5,8,1,3,3,0,21,10,9}; System.out.println("before sort:"); for(int i=0;i<data.length;i++){ System.out.print(data[i] + " "); } data = insertionSort(data); System.out.println(); System.out.println("after sort:"); for(int i=0;i<data.length;i++){ System.out.print(data[i] + " "); } } public static int[] insertionSort(int data[]){ int tmp=0; int j=0; for(int i=1;i<data.length;i++){ if(data[i-1]>data[i]){ j=i; tmp = data[i]; while(j>0 && data[j-1]>tmp){ data[j]=data[j-1]; j--; } data[j] = tmp; } } return data; }