//基于王道c语言改写代码
include [HTML_REMOVED]
const int N = 100010;
int q[N];
int partition(int q[],int low,int high,int k)
{
if(low >= high)
{
return q[low];
}
int pivot = q[low];
while(low < high)
{
if(low < high && q[high]>= pivot)
{
high–;
}
q[low] = q[high];
while(low <high && q[low] < pivot)
{
low++;
}
q[high] = q[low];
}
q[low] = pivot;
return low;
}
int quicksort(int q[],int low,int high,int k)
{
if(low[HTML_REMOVED]= k)
{
return quicksort(q,low,pivot_pos,k);
}
else
{
return quicksort(q,pivot_pos+1,high,k-(pivot_pos-low+1));
}
}
}
int main()
{
int n,k;
scanf(“%d %d”,&n,&k);
for(int i =0;i<n;i++)
{
scanf(“%d”,&q[i]);
}
int Q =quicksort(q,0,n-1,k);
printf(“%d”,q[Q]);
}
算法1
(暴力枚举) $O(n^2)$
blablabla
时间复杂度
参考文献
C++ 代码
blablabla
算法2
(暴力枚举) $O(n^2)$
blablabla
时间复杂度
参考文献
C++ 代码
blablabla