30/07/2011

JAVA Quick Sort

import java.io.*;
class quick_sort
{
public static void main(String args[])throws IOException
{
BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
System.out.println("Enter the no.of elements");
int n=Integer.parseInt(br.readLine());
int i,a[]=new int[n];
for(i=0;i<n;i++)
a[i]=Integer.parseInt(br.readLine());
a=quicksort(a,0,a.length-1);
for(i=0;i<n;i++)
System.out.print(a[i]+"  ");
}

public static int[] quicksort(int a[],int p,int r)
{
int q;
if(p<r)
{
q=Partition(a,p,r);
a=quicksort(a,p,q-1);
a=quicksort(a,q+1,r);
}
return a;
}

public static int Partition(int a[],int p,int r)
{
int x=a[r];
int i,j,temp;
i=p-1;
for(j=p;j<=r-1;j++)
{
if(a[j]<=x)
{
i++;
temp=a[j];
a[j]=a[i];
a[i]=temp;
}
}
temp=a[i+1];
a[i+1]=x;
a[r]=temp;
return (i+1);
}
}

No comments:

Post a Comment