1425: sort hash表排序

来源:互联网 发布:软件编程计时计数器 编辑:程序博客网 时间:2024/06/05 09:14
给你n个整数,请按从大到小的顺序输出其中前m大的数。

每组测试数据有两行,第一行有两个数n,m(0<n,m<1000000),第二行包含n个各不相同,且都处于区间[-500000,500000]的整数。

输入:

    5 3
    3 -35 92 213 -644
输出:
    213 92 3
//******以下为输入元素无重复情况时源码******#include <iostream>using namespace std;int hash[1000001];int main(){int m,n;cin>>m>>n;memset(::hash,0,sizeof(::hash));//初始化数组,全局变量用::标识for (int i=0;i<m;i++)           //输入m个整型{int temp;cin>>temp;::hash[temp+500000]=1;}int cnt=0;for (int j=1000000;j!=0;j--)    //输出前n个最大值if(::hash[j]==1){cnt++;cout<<j-500000<<" ";if(cnt==n)break;}cout<<endl;return 0;}



原创粉丝点击