package suanfa;
import com.algs4.stdlib.StdOut;
/**
* Created by evan on 16/11/1.
* name 插入排序
*/
public class InsertSorting {
public static void main(String[] args){
Integer[] cpr = {121,3,1,22,44,12,5,6,23,664,22,34};
sort(cpr);
for (Integer value:cpr) {
StdOut.println(value);
}
}
public static void sort(Comparable[] cprList){
int N = cprList.length;
for (int i = 1;i < N;i++){
for(int j = i;j>=1 && less(cprList[j],cprList[j-1]);j--){
exch(cprList,j,j-1);
}
}
}
public static void exch(Comparable[] a,int b,int c){
Comparable t = a[b];
a[b] = a[c];
a[c] = t;
return;
}
public static Boolean less(Comparable a, Comparable b){
return a.compareTo(b) < 0;
}
}
在一個有序的數(shù)列中插入一個數(shù),將數(shù)從右到左對比知道走到合適的位置
永遠維護一個有序的數(shù)組官卡,每次“插入”一個新的數(shù)是都要整理數(shù)組保持數(shù)組有序