读书人

快速排序简明算法

发布时间: 2013-08-01 15:23:18 作者: rapoo

快速排序简要算法

package math;import java.util.Arrays;import java.util.Collections;/** * 快速排序(简单实现) * User: zhangyong * Date: 13-6-16 * Time: 下午9:45 * To change this template use File | Settings | File Templates. */public class QuickSort {    public static void sort(int[] arr, int low, int high) {        int pivot;        if (low < high) {            pivot = partition(arr, low, high);            sort(arr, low, pivot - 1);            sort(arr, pivot + 1, high);        }    }    public static int partition(int[] arr, int low, int high) {        int pivotKey = arr[low];        while (low < high) {            while (low < high && arr[high] >= pivotKey) {                high--;            }            //将比枢纽记录小的记录交换到低端            swap(arr, low, high);            while (low < high && arr[low] <= pivotKey) {                low++;            }            swap(arr, low, high);        }        return low;    }    public static void swap(int[] arr, int low, int high) {        int temp = arr[low];        arr[low] = arr[high];        arr[high] = temp;    }    public static void main(String[] args) {        int[] arr = new int[]{                5,                1,                2,                3,                10,                12        };        sort(arr, 0, 5);        for(int i : arr){            System.out.print(i + " ");        }    }}

读书人网 >Web前端

热点推荐