Problem C: 查找【数组】

来源:互联网 发布:淘宝店铺会员管理 编辑:程序博客网 时间:2024/06/06 03:30

Problem C: 查找【数组】

Time Limit: 1 Sec  Memory Limit: 128 MB
Submit: 220  Solved: 73
[Submit][Status][Web Board]

Description

利用search(a,n,k)函数在数组a的前n(n>=1)个元素中找出前k个(1<=k<=n)小的值。假设数组a中各元素的值都不相同。

Input

数组中各元素

n k

Output

a中前k个小的值

Sample Input

5 6 2 1 4 85 78 117 4

Sample Output

5 2 1 4

HINT

代码实现:
#include<iostream>#include<algorithm>using namespace std;void search(int a[1000],int n ,int k){    int b[1000];    int times=0;    for(int i=0;i<n;i++)    {        b[i]=a[i];    }    sort(a,a+n);    for(int m=0;m<n;m++)    {        for(int j=0;j<k;j++)        {            if(a[j]==b[m])            {                cout<<a[j];                times++;                if(times!=k)                {                    cout<<" ";                }            }        }        if(times==k)        return ;    }}int main(){    int one[1000];    int k=0;    while(cin>>one[k])    {        k++;    }    int m=one[k-2];    int n=one[k-1];    search(one,m,n);    return 0;}


0 0
原创粉丝点击