码迷,mamicode.com
首页 > 编程语言 > 详细

计数排序

时间:2020-04-02 19:59:17      阅读:115      评论:0      收藏:0      [点我收藏+]

标签:algo   scanf   name   png   isp   图片   div   info   color   

技术图片

 

 

#include <iostream>
#include <cstdio>
#include <algorithm>
#include <cstring>

using namespace std;

//给你n个整数,请按从大到小的顺序输出前m大的数
//定义一个辅助数组,数组下标是原数组的数字, 

const  int MAXN = 1e6 + 10 ;
const  int RANGE = 5e5;

int arr[MAXN];
int number[MAXN];
 
int main(){
    int n,m;
    while(scanf("%d%d",&n,&m) != EOF){
        //数组清空
            (number,0,MAXN);    
        for(int i = 0; i < n;i++){
            scanf("%d",&arr[i]);
            number[arr[i] + RANGE] ++;
        }    
        
        int count = 0;
        for(int j = MAXN; j >= 0; j--){
            if(count < m && number[j] != 0){
                printf("%d ",j-RANGE);
                count++;
            }
        }
    } 
    return 0;
}

 

计数排序

标签:algo   scanf   name   png   isp   图片   div   info   color   

原文地址:https://www.cnblogs.com/juanzhi/p/12622360.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!