總的來說:快速排序是用得比較廣泛的乙個排序,也是經常出現的乙個排序,應該重點掌握~
} //第一趟排序後已經將最大值放到陣列最後面了
//接下來是排序"整體"的資料了
bubblesort(arrays, l, r - 1);}
}前置知識:遞迴就這麼簡單
/**
* 快速排序
* * @param arr
* @param l 指向陣列第乙個元素
* @param r 指向陣列最後乙個元素
*/public static void quicksort(int[
] arr, int l, int r)
} //上面乙個while保證了第一趟排序支點的左邊比支點小,支點的右邊比支點大了。
//「左邊」再做排序,直到左邊剩下乙個數(遞迴出口)
if(l < j)
quicksort(arr, l, j)
; //「右邊」再做排序,直到右邊剩下乙個數(遞迴出口)
if(i < r)
quicksort(arr, i, r)
;}
我也將**(包括分解過程)上傳到了github上了參考蘑菇街3y 八大基礎排序總結
大概花了一周的時間把八大基礎排序過了一遍,這篇博文主要是用來回顧一下八大基礎排序的要點和一些總結 回顧 總的來說 快速排序是用得比較廣泛的乙個排序,也是經常出現的乙個排序,應該重點掌握 思路 實現要點 優化 如果一趟排序後也沒有交換位置,那麼該陣列已有序 外層迴圈是排序的趟數 for int i 0...
八大基礎排序總結
大概花了一周的時間把八大基礎排序過了一遍,這篇博文主要是用來回顧一下八大基礎排序的要點和一些總結 回顧 總的來說 快速排序是用得比較廣泛的乙個排序,也是經常出現的乙個排序,應該重點掌握 思路 實現要點 優化 如果一趟排序後也沒有交換位置,那麼該陣列已有序 外層迴圈是排序的趟數 for int i 0...
八大排序總結
排序方式 時間複雜度 最好 最壞情況 空間複雜度 穩定性 氣泡排序 o n 2 o n o 1 穩定 選擇排序 o n 2 o 1 不穩定 直接插入排序 o n 2 o n o 1 穩定 希爾排序 o n 1.3 o 1 不穩定 堆排序 o nlog 2 n o 1 不穩定 歸併排序 o nlog ...