排序——第k小的数

来源:互联网 发布:淘宝一键复制宝贝 编辑:程序博客网 时间:2024/06/13 11:34
问题描述

任意输入N个数字,以“###”结束,要求输出查询出第K小的数。

输入

包括两部分,第一部分为输入部分,第一行为一个正整数N,代表数据库中共存有N个数。接下来N行,每行一个正整数,代表依次向数据库中存储的数字。接下来一行是3个“#”。下面是询问部分,询问部分第一行为一个正整数K,接下来K行每行一个正整数,代表要询问第小的数(1KN5 000)。每个插入的数字不超过10 000

输出

对于每个询问输出一行,代表第小的数

 

样例输入

3

5

6

7

###

2

2

3

样例输出

6

7

源程序

#include <iostream>#include <algorithm>using namespace std;int n[10000];int main(){int num,m;cin>>num;              //数的个数if(num >= 1&&num <= 5000){for(int i= 1;i <= num;i++)cin>>n[i];cout<<"###"<<endl;sort(n+1,n+num+1);  //排序cin>>m;             //查询次数i=1;for(int j;i <= m;i ++){cin>>j;cout<<n[j]<<endl;}} ;return 0;}

运行截图:

截图

原创粉丝点击