Alonely @ 2020-04-01 18:10:39
#include<iostream>
using namespace std;
int quickSort(int *arr,int l,int r,int k)
{
int j=l;
int i=l+1;
while(i<=r)
{
if(arr[i]<arr[l])
{
swap(arr[i],arr[j+1]);
j++;
}
i++;
}
swap(arr[l],arr[j]);
if(j==k)
{
return arr[j];
}
else if(j>k)
{
return quickSort(arr,l,j-1,k);
}
else
{
return quickSort(arr,j+1,r,k);
}
}
int main()
{
ios::sync_with_stdio(false);
int n,k;
int *arr=new int[n];
cin>>n>>k;
for(int i=0;i<n;i++)
{
cin>>arr[i];
}
int m=quickSort(arr,0,n-1,k);
cout<<m<<endl;
return 0;
}
交了很多次,最高80分,最低20分,结果不是AC就是RE,咋整啊大佬们
by zhjxaoini @ 2020-04-01 18:53:56
dalete
确实是好习惯,但是操作系统的释放相比 delete
仅仅只是少了调用析构函数这一步,对于内置数据类型没有影响
by Limit @ 2020-04-01 19:13:47
@Alonely
int n,k;
int *arr=new int[n];
cin>>n>>k;
改成
int n,k;
cin>>n>>k;
int *arr=new int[n];
试试吧
by 打表大蒟蒻 @ 2020-04-01 21:36:22
@Alonely 好吧,我看错了
by Alonely @ 2020-04-04 10:03:29
@Limit 感谢,没看到,还是用STL才水了这道题