码迷,mamicode.com
首页 > 编程语言 > 详细

快速排序

时间:2017-08-19 22:21:41      阅读:135      评论:0      收藏:0      [点我收藏+]

标签:key   str   sort   nbsp   log   amp   index   static   logs   

import java.util.Arrays;

public class QuickSort {
    public static void main(String[] args) {
        int[] a={4,3,2,5,8,6};
        sort(a, 0, 5);
        System.out.println(Arrays.toString(a));
    }
    public static int partition(int []array,int low,int high){
        //固定的切分方式
        int key=array[low];
        while(low<high){
            while(array[high]>=key&&high>low){//从后半部分向前扫描
                high--;
            }
            array[low]=array[high];
            while(array[low]<=key&&high>low){//{从前半部分向后扫描
                low++;
            }
            array[high]=array[low];
        }
        array[high]=key;
        return high;
    }
    
    public static void sort(int[] array,int low ,int high){
        if(low>=high){
            return ;
        }
        int index=partition(array,low,high);
        sort(array,low,index-1);
        sort(array,index+1,high); 
    }
}

 [2, 3, 4, 5, 6, 8]

快速排序

标签:key   str   sort   nbsp   log   amp   index   static   logs   

原文地址:http://www.cnblogs.com/tonggc1668/p/7397904.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!