前3个AC,后面两个TLE,求大佬帮忙看下怎么改
#include<stdio.h>
int s[100009];
void quick_sort(int s[],int l,int r)
{
if(l < r)
{
int temp = s[l];
s[l] = s[(l+r-1)/2];
s[(l+r-1)/2] = temp;
int i = l,j = r,x = s[l];//选用s[l]作为基准数
while(i < j)
{
while(i <j && s[j] >= x)//从右向左找第一个小于x的数
j--;
if(i < j)
s[i++] = s[j];
while(i < j && s[i] < x)//从左向右找第一个大于等于x的数
i++;
if(i < j)
s[j--] = s[i];
}
s[i] = x;
quick_sort(s,l,i - 1);//递归调用
quick_sort(s,i+1,r);
}
}
int main(void){
int n;
scanf("%d",&n);
for(int i = 0;i<n;i++){
scanf("%d",&s[i]);
}
quick_sort(s,0,n-1);
for(int i = 0;i<n;i++){
printf("%d ",s[i]);
}
}