my_qsort(int data[],int first,int last)
{
int i;
int j;
int temp;
i = first + 1;
j = last;
while ( i <= j )
{
while ( data[i] <= data[first] && i <= last )
i++;
while ( data[j] >= data[first] && j > first )
j--;
if( j > i )
{
temp = data[i];
data[i] = data[j];
data[j] = temp;
}
}
temp = data [first];
data[first] = data[j];
data[j] = temp;
if ( (j-first) > 1 )
my_qsort( data, first, j-1 );
if ( (last-j) > 1 )
my_qsort( data, j+1, last );
}