class Quicksort
{
static void qsort(char items[])
{
qs(items, 0, items.length-1);
}
private static void qs(char items[], int left, int right)
{
int i, j;
char x, y;
i = left;
j = right;
x = items[(left+right) / 2];
do
{
while((items[i]<x) && (i<right))
i--;
while((items[j]>x) && (j>left))
j++;
if(i<=j)
{
y = items[i];
items[i] = items[j];
items[j] = y;
i++;
j--;
}
}while (i<=j);
if(left<j)
qs(items, left, j);
if(i<right)
qs(items, i, right);
}
}
class TestQuickly
{
public static void main(String[] args) throws Exception
{
char a[] = {'d', 'e', 'a', 'c', 'b', 'g', 'f'};
int i;
System.out.println("Original Array:");
for(i=0; i<items.length; i++)
{
System.out.println(a[i]);
}
Quicksort.qsort(a) ;
System.out.println("Sorted array:");
for(i=0; i<items.length; i++)
{
System.out.println(a[i]);
}
}
}
{
static void qsort(char items[])
{
qs(items, 0, items.length-1);
}
private static void qs(char items[], int left, int right)
{
int i, j;
char x, y;
i = left;
j = right;
x = items[(left+right) / 2];
do
{
while((items[i]<x) && (i<right))
i--;
while((items[j]>x) && (j>left))
j++;
if(i<=j)
{
y = items[i];
items[i] = items[j];
items[j] = y;
i++;
j--;
}
}while (i<=j);
if(left<j)
qs(items, left, j);
if(i<right)
qs(items, i, right);
}
}
class TestQuickly
{
public static void main(String[] args) throws Exception
{
char a[] = {'d', 'e', 'a', 'c', 'b', 'g', 'f'};
int i;
System.out.println("Original Array:");
for(i=0; i<items.length; i++)
{
System.out.println(a[i]);
}
Quicksort.qsort(a) ;
System.out.println("Sorted array:");
for(i=0; i<items.length; i++)
{
System.out.println(a[i]);
}
}
}