• hdu 1425:sort


    Problem Description

    给你n个整数,请按从大到小的顺序输出其中前m大的数。
     
    Input
    每组测试数据有两行,第一行有两个数n,m(0<n,m<1000000),第二行包含n个各不相同,且都处于区间[-500000,500000]的整数。
     
    Output
    对每组测试数据按从大到小的顺序输出前m大的数。
     
    Sample Input
    5 3 3 -35 92 213 -644
     
    Sample Output
    213 92 3
     
    思路:用快排函数,快排函数的手写函数有点子烦啊,这里千万要注意用cin/cout就超时!!!!!!
    #include<cstdio>
    #include<iostream>
    #include<functional>
    #include<algorithm>
    using namespace std;
    int a[1000005];
    int cmp(const void* a, const void* b)
    {
        return *(int*)b - *(int*)a;
    }
    int main()
    {
        int n, k; 
        while (~scanf("%d%d", &n, &k)){
            for (int i = 0; i < n; i++)
                scanf("%d", &a[i]);
                //cin >> a[i];
    
            qsort(a, n, sizeof(int), cmp);
            //sort(a, a + n, greater<int>());
            for (int i = 0; i < k; i++)
            {
                if (i != k - 1)
                    printf("%d ", a[i]);
                else printf("%d
    ", a[i]);
                //if (i == 0)cout << a[i];
                //else cout << " " << a[i];
            }
            //cout << endl;
        }
        
        return 0;
    }

     注意一下快排函数中cmp的写法:

    • 结构体
    struct array 
    {
        int x;
        int y;
    }arr[1000];
    
    int cmp(const void *a , const void *b) 
    { 
        return ((array *)a)->x - ((array *)b)->x;
    } 
    
    qsort(arr,1000,sizeof(arr[0]),cmp); 
  • 相关阅读:
    9.Nginx常用模块
    8.Nginx基本概述
    7.HTTP协议
    6. SSH远程管理服务实战
    5. Sersync实时同步
    docker 安装 rabbitMQ服务器
    rabbitmq pika(python)订阅发布多客户端消费场景简单使用
    rabbitmq和kafka大概比较
    flask接收跨域请求
    命令提示符出现-bash-4.1$如何解决
  • 原文地址:https://www.cnblogs.com/zengguoqiang/p/8819183.html
Copyright © 2020-2023  润新知