思路:
set容器会对加入的数据进行自动升序排序,但是容器中的元素是唯一的。所以这里采用的是multiset容器。输入数据后,直接输出容器中前k个元素即可。
代码:
using namespace std;
int main(){
int num,k;
cin>>num>>k;
multiset<int> data;
int tmp=0;
for(int i=0;i<num;i++){
cin>>tmp;
data.insert(tmp);
}
multiset<int>::iterator it=data.begin();
for(int i=0; i<k && it!=data.end();i++,it++){
cout<<*it;
if(i < k-1){
cout<<" ";
}
}
return 0;
}