首页 > 代码库 > [华为]输入n个整数,输出其中最小的k个

[华为]输入n个整数,输出其中最小的k个

链接:https://www.nowcoder.com/questionTerminal/69ef2267aafd4d52b250a272fd27052c
来源:牛客网

输入n个整数,输出其中最小的k个。

详细描述:

接口说明

原型:

bool GetMinK(unsignedint uiInputNum, int * pInputArray, unsignedint uiK, int * pOutputArray);

输入参数:

     unsignedint uiInputNum //输入整数个数

int * pInputArray  //输入整数数组

unsignedint uiK   //需输出uiK个整数

输出参数(指针指向的内存区域保证有效):

    int * pOutputArray //最小的uiK个整数

返回值:

        false 异常失败

          true  输出成功

 

 

 

输入描述:

输入说明 
1 输入两个整数 
2 输入一个整数数组


输出描述:

输出一个整数数组

 

输入例子:
5 2
1 3 5 7 2

 

输出例子:
1 2

#include<iostream>
#include<vector>
#include<algorithm>
using namespace std;

int main()
{    
    int m,n;    
    while(cin>>m>>n)    
    {        
        int x;        
        vector<int>ivec;       
        ivec.clear();        
        
        for(int i=0;i<m;++i)       
        {           
            cin>>x;            
            ivec.push_back(x);       
        }        
        
        sort(ivec.begin(),ivec.end()); 
        
        for(int i=0;i<n-1;++i)            
            cout<<ivec[i]<< ;        
        cout<<ivec[n-1]<<endl;    
    }    
    return 0;
}

[华为]输入n个整数,输出其中最小的k个