快速排序

转,原文地址:http://blog.csdn.net/morewindows/article/details/6684558

快速排序

import java.util.Scanner;
import java.util.Arrays;
class Main{
    
    static int elem[];
    static int n;
    
    public static void quickSort(int left,int right){
        if(left<right){
            int low=left;
            int high = right;
            int key = elem[low];
            while(low<high){
                while(low<high&&elem[high]>=key){
                    high--;
                }
                elem[low] = elem[high];
                while(low<high&&elem[low]<=key){
                    low++;
                }
                elem[high] = elem[low];
            }
            elem[low] = key;
            quickSort(left,low-1);
            quickSort(low+1,right);
        }
        
    }
    
    public static void main(String[] args){
        Scanner in = new Scanner(System.in);
        n = in.nextInt();
        elem = new int[n];
        for(int i=0;i<n;i++){
            elem[i] = in.nextInt();
        }
        quickSort(0,n-1);
        System.out.println(Arrays.toString(elem));
    }
}

 

posted @ 2015-05-11 10:21  杨永华  阅读(101)  评论(0编辑  收藏  举报