Insertion Sort
The relevant code
class Sort3{
/** 插入排序 Insertion-Sort
* 它的工作原理是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。
* 从第一个元素开始,该元素可以认为已经被排序;
* 取出下一个元素,在已经排序的元素序列中从后向前扫描;
* 如果该元素(已排序)大于新元素,将该元素移到下一位置;
* 重复步骤3,直到找到已排序的元素小于或者等于新元素的位置;
* 将新元素插入到该位置后
* 交换:54321
* 第一次:45321
* 第二次:34521
* 第三次:23451
* 第四次:12345**/
public void insertSort(int number[]){
if(number.length<=1|| number==null)
return;
else {
for(int i=1;i<number.length;i++){
int numberInsert=number[i];
int j=i-1;
while(j>=0&&number[j]>numberInsert)
{
number[i]=number[j];
j--;
}
number[j+1]=numberInsert;
}
}
}
}