填坑
交換注意:填坑的本質就是交換,只不過交換把兩次填坑合併為一次交換過程而已。
我自己也對**進行了梳理:
public
void
quicksort
(int
nums,
int low,
int high)
if(i
while
(iif(i
}//i==j,指向主元的最終位置,用主元填這個坑
nums[i]
= curr;
//分治策略
quicksort
(nums,low,i-1)
;quicksort
(nums,i+
1,high);}
}
public
void
quicksort
(int
nums,
int low,
int high)
while
(i<=curr)
if(i
}//將主元與最終位置上的元素位置互換
nums[low]
= nums[i]
; nums[i]
= curr;
//分治策略
quicksort
(nums,low,i-1)
;quicksort
(nums,i+
1,high);}
}
對leetcode第912題,使用兩種方法進行提交,效能表現如下:
「挖坑填坑」理解快速排序
快速排序的基本思路 找乙個基準元素,對陣列進行調整,調整的標準是,這個基準元素的左邊存放的都是比這個元素小的,右邊都是比這個元素大的。然後分而治之,對左右兩邊的子陣列利用同樣的規則調整,調整到每乙個子陣列中都只有乙個元素時結束。基本思想很簡單,主要是理解如何在確定基準元素之後,對陣列 子陣列 進行調...
填坑法 快速搞定快速排序演算法
該方法的基本思想是 1 先從數列中取出乙個數作為基準數。2 分割槽過程,將比這個數大的數全放到它的右邊,小於或等於它的數全放到它的左邊。3 再對左右區間重複第二步,直到各區間只有乙個數。以乙個陣列作為示例,取區間第乙個數為基準數。我先上個圖讓大家感受一下,畫了很長時間,但是畫的還是很差,將就下看看吧...
MySQL坑與填坑
錯誤 1064 錯誤 1215 原因 資料型別不同 錯誤 1630 去掉函式名和 間的空格 check 關鍵字無效 使用列舉或觸發器 特定字串約束 使用列舉 課程性質 char 10 constraint c5 check 課程性質in 公共基礎 專業基礎 專業選修 任意選修 課程性質 enum 公...