运用了快排的思想
注意数组是从1开始的
int find_num_i(int *a,int st,int en,int i)
{
int poi;
if (st>=en) return a[st];
poi=st;
for (int k=st+1;k<=en;k++)
if (a[k]<a[poi])
{
Swap(a[poi+1],a[k]);
Swap(a[poi],a[poi+1]);
poi++;
}
if (poi==i) return a[poi];
if (poi<i) return find_num_i(a,poi+1,en,i);
else return find_num_i(a,st,poi-1,i);
}
void Swap(int &a,int &b)
{
int exc;
exc=a;a=b;b=exc;
return;
}