什么網(wǎng)站可以查建筑工程項(xiàng)目怎么在百度上發(fā)布信息廣告
快速排序的核心框架是“二叉樹(shù)的前序遍歷+對(duì)撞型雙指針”。
快速排序的實(shí)現(xiàn)1:
public void quickSort(int[] arr, int left, int right) {if (left < right) {// pivot將遍歷的范圍限制在了pivot之前int pivot = arr[right];int i = left - 1;for (int j = left; j < right; j++) {if (arr[j] < pivot) {i++;int temp = arr[i];arr[i] = arr[j];arr[j] = temp;}}// 哨兵移動(dòng)到pivotIndex上int pivotIndex = i + 1;int temp = arr[pivotIndex];arr[pivotIndex] = arr[right];arr[right] = temp;quickSort(arr, left, pivotIndex - 1);quickSort(arr, pivotIndex + 1, right);}
}
快速排序的實(shí)現(xiàn)2:
public void quickSort(int[] array, int start, int end) {if (start >= end) {return;}int left = start, right = end;int pivot = array[(start + end) / 2];while (left <= right) {while (left <= right && array[left] < pivot) {left++;}while (left <= right && array[right] > pivot) {right--;}if (left <= right) {int temp = array[left];array[left] = array[right];array[right] = temp;left++;right--;}}quickSort(array, start, right);quickSort(array, left, end);
}
如果對(duì)您有幫助,請(qǐng)點(diǎn)贊關(guān)注支持我,謝謝!?
如有錯(cuò)誤或者不足之處,敬請(qǐng)指正!?
個(gè)人主頁(yè):星不易 ?
算法通關(guān)村專欄:不易|算法通關(guān)村 ?