三道题基本上差不多,我就只贴第一题了
同样还是省略读入文件,假设读入数组array
使用语言为C语言
int quicksort(long* array, int low, int high)
{
if (low >= high)
return 0;
int pivot = array[low],i=low+1,j=low+1;
for (j; j <= high; j++)
{
if (array[j] < pivot)
{
int temp = array[i];
array[i] = array[j];
array[j] = temp;
i++;
}
}
array[low] = array[i - 1];
array[i - 1] = pivot;
int temp1 = quicksort(array, low, i - 2);
int temp2 = quicksort(array, i, high);
return (temp1 + temp2 + (high - low));
}