题目描述:
本题要求实现一个快速排序函数。 给定 N ( N<= 100000 ) 个 int 范围内的整数,要求用快速排序对数据进行升序排列。
函数接口定义:
void Quick_sort (int array[], int l, int r);
其中 array[] 、 l 、r 都是用户传入的参数。 array[] 是需要排序的数组,数组长度不会超过100000; l 和 r 是需要进行排序的左端点和右端点。
裁判测试程序样例:
/* 请在这里填写答案 */
输入样例:
输出样例:
在这里给出相应的输出。例如:
参考代码:
void Quick_sort (int array[],int l,int r)
{
int x=array[l],i=l,j=r;
if(l>=r)return ;
while(i<j)
{
while(i<j&&array[j]>=x)
{
j--;
}
array[i]=array[j];
while(i<j&&array[i]<=x)
{
i++;
}
array[j]=array[i];
}
array[i]=x;
Quick_sort(array,l,i-1);
Quick_sort(array,i+1,r);
}