插入排序方法類
public void sort(int arr[]){
for(int i=1;i<arr.length;i++){
int insertVal=arr[i];
//insertVal是準備用于與前一個數比較的數
int index=i-1;
while(index>=0&&insertVal<arr[index])
{
//上面的判斷思想是,先确認index在i-1過後大于等于0;
//讓後讓數組裡的i 與 i-1 ,就是前後倆數去比較,現在是如果後面的數小與前面的數的情況
arr[index+1]=arr[index];
index--;
}
//如果前面while的條件不比對,也就是說後面插入的數比前面一個大
arr[index+1]=insertVal;
}
}
算法思想:
①把數組裡面的無序數中的第一個index=0的數,預設當做一個序列隊伍;
②然後定義一個數insertVal,取出的值為index=0後面的一個數;
③将兩者比較,
如果insertVal比最早的那個數大,那麼就直接讓這個數的index+1,那麼就是直接排在比較數後面了;