插入排序其實就是拿未排序陣列中的第乙個值,插入到已排序完中的陣列的合適位置,來完成排序
圖中的黃色部分為我們已經排好序的陣列部分
圖中的紅色部分為未排好序陣列中的第乙個值
圖中的藍色部分為未排序的陣列部分
1.我們開始預設陣列的第乙個元素為已經排好序的陣列,整個陣列為a
2.未排序陣列中的第乙個元素拿出來,我們假設下標為n,與排序陣列的第i個比較
如果該陣列a[n]否則i--;
表述的不是很清楚,**如下
/**
* 插入排序
* @param arr
* @return
*/public static int insertionsort(int arr)
//因為preindex的元素一定是小於currentval,所以將preindex+1賦值currentval
arr[preindex+1] = currentval;
}system.out.print(arrays.tostring(arr));
return arr;
}
插入排序原理分析及Java實現
插入排序 有乙個已經有序的資料序列,要求在這個已經排好的資料序列中插入乙個數,但要求插入後此資料序列仍然有序,這個時候就要用到一種新的排序方法 插入排序法,插入排序的基本操作就是將乙個資料插入到已經排好序的有序資料中,從而得到乙個新的 個數加一的有序資料,演算法適用於少量資料的排序,時間複雜度為o ...
插入排序原理與實現
已知n個元素的陣列a 1 n 使用插入法將a中元素按非減排序。插入排序 往有序的序列裡,插入乙個新元素,但保證插入此資料後,該序列仍然有序。也可以這樣解釋 a n 的前i個元素有序,即a 0 至a i 1 有序 公升序或降序 插入a i 後,仍要保證a 0 至a i 有序 依次類推,直到i n 1。...
排序演算法(二) 插入排序原理及Java實現
插入排序原理 我覺得類似於鬥地主時給紙牌排序 正序舉例 從第二個元素開始依次與前面的元素比較。若此元素 比較元素 比前一位 被比較元素 的元素大,則停止比較,用此元素的後一位作為比較元素進入下一次迴圈。若此元素 比較元素 比前一位 被比較元素 的元素小,則繼續與前面第二位 被比較元素 比較,依次比較...