2250: 查找最小的k个元素(栈和队列)
题目描述
题目:输入n个整数,输出其中最小的k个。
例如输入1,2,3,4,5,6,7和8这8个数字,则最小的4个数字为1,2,3和4
输入
输入:
8 4
1 2 3 4 5 6 7 8
输出
1 2 3 4
样例输入
8 4 1 2 3 4 5 6 7 8
样例输出
1 2 3 4
来源
#include<cstdio>
#include<iostream>
#include<algorithm>
#include<stack>
#include<cstdlib>
using namespace std;
int main()
{
int n,m,i,j,k;
int s[999];
stack <int> X;
scanf("%d",&n);
scanf("%d",&k);
for(i=0;i<n;i++)
{
scanf("%d",&s[i]);
}
sort(s,s+n);
/*for(i=0;i<n;i++)
{
cout<<s[i]<<endl;
}*/
for(i=n-1;i>=0;i--)
{
X.push(s[i]);
}
for(i=0;i<k;i++)
{
cout<<X.top()<<' ';
X.pop();
}
return 0;
}