JAVA 快速排序

来源:互联网 发布:软件挖矿 编辑:程序博客网 时间:2024/06/05 09:36
package com.yaphetzhao.sort;/** * Created by YaphetZhao * on 2016/11/24. * 快速排序 */public class QuickSort {    public static void main(String[] args) {        int[] numbers = {0, 1, 3, 5, 6, 9, 0, 4, 2, 2, 6, 7, 5, 3, 9, 6};        quickSort(numbers, 0, numbers.length - 1);        String numbers_str = "";        for (int aNumber : numbers) {            numbers_str += aNumber + ",";        }        System.out.print(numbers_str);    }    private static void quickSort(int[] numbers, int start, int end) {        if (start < end) {            int base = numbers[start];            int temp;            int i = start, j = end;            do {                while ((numbers[i] < base) && (i < end))                    i++;                while ((numbers[j] > base) && (j > start))                    j--;                if (i <= j) {                    temp = numbers[i];                    numbers[i] = numbers[j];                    numbers[j] = temp;                    i++;                    j--;                }            } while (i <= j);            if (start < j)                quickSort(numbers, start, j);            if (end > i)                quickSort(numbers, i, end);        }    }}
1 0