直接插入排序
/**
* 直接插入排序
* 保证第i个值前面的列表是拍好序的,然后从第i-1个值开始从后往前比较,
* 如果如果队列中的值比较大就把队列中的值往后移一位,直到找到该值在队列中的合适位置
* @param a
* @return
*/
void insertSort(){
int[] a = {49,38,65,97,76,13,27,49,78,34,12,64,5,4,62,99,98,54,56,17,18,23,34,15,35,25,53,51};
for(int i=1;i<a.length;i++){
int temp=a[i];
for(int j=i-1;j>=0;j--){
if(temp<a[j]){//队列中的值大,队列的值往后移
a[j+1]=a[j];
if(j==0){//队列中的第一个值也比该值大,则该值插入队列第一个位置
a[j]=temp;
}
break;
}
if(temp>=a[j]){//队列中的值小,该值插入这个位置的后面
a[j+1]=temp;
break;
}
}
}
for(int i=0;i<a.length;i++){
System.out.print(a[i]+",");
}
}