快排

来源:互联网 发布:网络布线报价单2016 编辑:程序博客网 时间:2024/04/29 13:33
package bd_algo;/** * Created by Administrator on 2017/8/28. */public class QS {    public static void main(String[] args) {        int[] nums = {3, 2, 1, 5, 4};        quickSort(nums);        for (int i = 0; i < nums.length; i++) {            System.out.println(nums[i]);        }    }    private static void quickSort(int[] nums) {        if (nums == null || nums.length == 0) {            return;        }        quickSortHelp(nums, 0, nums.length );    }    private static void quickSortHelp(int[] nums, int start, int end) {        if(end - start <= 1)  return;        int key = nums[start];        int i = start;        int j = end - 1;        while (i < j) {            while (i < j && nums[j] >= key) {                j--;            }            if (i < j) {                nums[i++] = nums[j];            }            while (i < j && nums[i] <= key) {                i++;            }            if (i < j) {                nums[j--] = nums[i];            }        }        nums[i] = key;        quickSortHelp(nums, start, i);        quickSortHelp(nums, i + 1, end);    }}