JAVA对快速排序的实现,简单易懂

来源:互联网 发布:大学生分期软件 编辑:程序博客网 时间:2024/05/21 11:28

/* Title: QSort
* Description:
* @author zoulux
* @date 2015年11月11日 下午12:20:55*/

import java.util.Arrays;

public class Sort {

public static void main(String[] args) {    int[] arr = { 49, 38, 65, 97, 76, 13, 27, 12, 11, 11 };    quickSort(arr, 0, arr.length - 1);    System.out.println(Arrays.toString(arr));}private static void quickSort(int[] arr, int low, int hight) {    int i = low;    int j = hight;    if (i > j) {        return;    }    // 基准元素    int key = arr[low];    while (true) {        /*         * j往前走         */        while (j > i) {            if (arr[j] < key) {                // 交换                swap(arr, i, j);                break;            } else {                j--;            }        }        /*         * i往后走         */        while (i < j) {            if (arr[i] > key) {                // 交换                swap(arr, i, j);                break;            } else {                i++;            }        }        if (i == j) {            break;        }    }    quickSort(arr, low, i - 1);    quickSort(arr, i + 1, hight);}private static void swap(int[] arr, int i, int j) {    int temp = arr[i];    arr[i] = arr[j];    arr[j] = temp;}

}

0 0
原创粉丝点击