您的位置:首页 > 编程语言 > Java开发

JAVA快速排序

2017-04-19 21:59 246 查看
package com.liu.util;

public class QuickSort {

private static void quickSort(int[] array, int beg, int end) {
if (beg >= end || array == null)
return;
int p = partition(array, beg, end);
quickSort(array, beg, p - 1);
quickSort(array, p + 1, end);
}

private static int partition(int[] array, int beg, int end) {
int last = array[end];
int i = beg - 1;
for (int j = beg; j <= end - 1; j++) {
if (array[j] <= last) {
i++;
if (i != j) {
exchange(array, i, j);
}
}
}
if ((i + 1) != end) {
exchange(array, i+1, end);
}
return i + 1;
}

private static void exchange(int[] nums, int i, int j){
int tmp = nums[i];
nums[i] = nums[j];
nums[j] = tmp;
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  快速排序