首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > Web前端 >

快速排序简明算法

2013-08-01 
快速排序简要算法package mathimport java.util.Arraysimport java.util.Collections/** * 快速排序(简

快速排序简要算法

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 + " ");        }    }}

热点排行