void quickSort(int data[],size_t left,size_t right)
{
size_t p = (left + right)/2;
int pivot = data[p];
for(size_t i = left,j = right;i < j;)
{
while(!(i >= p || pivot < data[i]))
i++;
if(i < p)
{
data[p] = data[i];
p = i;
}
while(!(j <= p || pivot > data[j]))
j--;
if(j > p)
{
data[p] = data[j];
p = j;
}
}
data[p] = pivot;
if(p - left > 1)
{
quickSort(data,left,p - 1);
}
if(right - p > 1)
{
quickSort(data,p + 1,right);
}
}