插入排序
相關代碼
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;
}
}
}
}