插入排序 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;
}