查找第K小数
题目描述
查找一个数组的第K小的数,注意同样大小算一样大。 如 2 1 3 4 5 2 第三小数为3。
输入描述:
输入有多组数据。
每组输入n,然后输入n个整数(1<=n<=1000),再输入k。
输出描述:
输出第k小的整数。
示例1
输入
6
2 1 3 5 2 2
3
输出
3
AC代码
#include<bits/stdc++.h>
using namespace std;
int main()
{
int n,tmp,k,i;
while(scanf("%d",&n)!=EOF){
set<int> intSet;
while(n--){
scanf("%d",&tmp);
intSet.insert(tmp);
}
scanf("%d",&k);
set<int >::iterator it;
for(it = intSet.begin(),i=0;it!=intSet.end()&&i<k-1;it++,i++){
}
printf("%d\n",*it);
}
return 0;
}