“哇,好多冰淇淋啊!”张琪曼跑到学院的冷饮店,伸出2根手指对冰淇淋老板说:“来3个。”老板蒙了,问:“几个?”张琪曼又伸出3根手指说:“2个。”
老板满头大汗:“我不管你要几个,只要你能从你口袋里的魔法石里找出第k小的魔法石,冰淇淋随便你吃。”
现在你知道该怎么做了吧?那就是:对于给定的n个元素的无序数组,要求从中找出第k小的元素。
第一行是总数n(1<n<100000)和k,第二行是n个待比较元素。
第k小的数在数组中的位置。
#include<stdio.h>
main()
{
int n,k,a[10000],i;
scanf("%d %d",&n,&k);
for(i=0;i<n;i++)
{
scanf("%d",&a[i]);
}
int b[10000];
for(i=0;i<n;i++)
{
__________
}
int temp,j;
for(i=0;i<n-1;i++)
{
for(j=0;j<n-i-1;j++)
{
if(b[j]>b[j+1])
{
temp=b[j];
b[j]=b[j+1];
b[j+1]=temp;
}
}
}
for(i=0;i<n;i++)
{
if(__________)
{
____________
break;
}
}
}