求java快速排序算法,最好是示例的那种,感激不尽

2020-10-27 社会 66阅读
public static void main(String[] args) {
int[] arr = {1,4,7,2,5,8,3,6,9};
quickSort(arr);
}

public static void quickSort(int[] a) {
quickSort(a, 0, a.length - 1);
}

private static void quickSort(int[] a, int start, int end) {
int left = start;
int right = end - 1;
int pivot = a[end];

while (left < right) {
if (a[left] <= pivot) {
left++;
continue;
}
if (a[right] > pivot) {
right--;
continue;
}
swap(a, left++, right);
}
if (a[left] < pivot) {
left++;
}
swap(a, left, end);
if(left - 1 > start) {
quickSort(a, start, left - 1);
}
if(left + 1 < end) {
quickSort(a, left + 1, end);
}
}
声明:你问我答网所有作品(图文、音视频)均由用户自行上传分享,仅供网友学习交流。若您的权利被侵害,请联系fangmu6661024@163.com