思路:先交換,
6 1 2 7 9 3 4 5 10 8
6 1 2 5 4 3 9 7 10 8 先右邊--;再次左邊++
i j
ij
6 1 2 5 4 3 9 7 10 8
交換 3 6
3 1 2 5 4 6 9 7 10 8
3 1 2 5 4 和 9 7 10 8
quickSort(arr, low, j-1);再次排序,遞歸
quickSort(arr, j+1, high);再次排序
思路:先交換,
6 1 2 7 9 3 4 5 10 8
6 1 2 5 4 3 9 7 10 8 先右邊--;再次左邊++
i j
ij
6 1 2 5 4 3 9 7 10 8
交換 3 6
3 1 2 5 4 6 9 7 10 8
3 1 2 5 4 和 9 7 10 8
quickSort(arr, low, j-1);再次排序,遞歸
quickSort(arr, j+1, high);再次排序
什麼是堆:堆是一種經過排序的完全二叉樹,其中任一非終端節點的數據值均不大於(或不小於)其左孩子和右孩子節點的值; 首先,堆分爲大根堆(最大堆)和小根堆(最小堆)二種; 小根堆滿足: