Quick Sort

import java.util.Scanner;

public class Main{
    static int []a = new int[100];
    static int n,q;
    public static void swap(int i, int j){
        int temp = a[i];
        a[i] = a[j];
        a[j] = temp;
    }
    public static int partition(int p, int r){
        int i = p-1;
        int x = a[r];
        for(int j=p;j<r;j++){
            if(a[j]<=x){
                i++;
                swap(i,j);
            }
        }
        swap(i+1,r);
        return i+1;
    }
    public static void quick_sort(int p, int r){
        if(p<r){
            q = partition(p,r);
            quick_sort(p,q-1);
            quick_sort(q+1,r);
        }
    }
    public static void main(String args[]){
        Scanner cin = new Scanner(System.in);
        while(cin.hasNext()){
            n = cin.nextInt();
            for(int i=0;i<n;i++) a[i]=cin.nextInt();
            quick_sort(0,n-1);
            for(int i=0;i<n;i++)
                System.out.println(a[i]);
        }
    }
}

No comments:

Post a Comment