zoukankan      html  css  js  c++  java
  • 快速排序法经典题型

    排序练习——找出前m大的数字

    Time Limit: 1000MS Memory limit: 65536K

    题目描述

    给定n个数字,找出前m大的数字。
     

    输入

     多组输入,每组输入格式如下。
    第一行包含两个整数n m。(n<=100000, m>0)
    第二行包含n个正整数。

    输出

     输出前m大的数字,若m>n输出ERROR。每组输出占一行。

    示例输入

    2 1
    4 3
    4 2
    1 2 898989 23

    示例输出

    4
    898989 23

    提示

     1 #include<stdio.h>
     2 void qsort(int a[],int l,int r)
     3 {
     4     int x=a[l],i=l,j=r;
     5     if(l>=r)return ;
     6     while(i<j)
     7     {
     8         while(i<j&&a[j]>=x)j--;
     9         a[i]=a[j];
    10         while(i<j&&a[i]<=x)i++;
    11         a[j]=a[i];
    12     }
    13     a[i]=x;
    14     qsort(a,l,i-1);
    15     qsort(a,i+1,r);
    16 }
    17 int main()
    18 {
    19     int m,n;
    20     while(scanf("%d%d",&m,&n)!=EOF)
    21     {
    22         int f[100005],i;
    23         for(i=0;i<=m-1;i++)
    24             scanf("%d",&f[i]);
    25         qsort(f,0,m-1);
    26         if(n>m)
    27         {
    28             printf("ERROR
    ");
    29             continue;
    30         }
    31         for(i=m-1;i>=m-n;i--)
    32         {
    33             if(i==m-1)printf("%d",f[i]);
    34             else printf(" %d",f[i]);
    35         }
    36         printf("
    ");
    37     }
    38     return 0;
    39 }
    View Code
  • 相关阅读:
    iOS开发 贝塞尔曲线UIBezierPath
    iOS开发 解决使用AVAudioRecorder录制后转mp3解决音量小的问题
    比JDK高效的array equals
    高性能web架构原则
    基于内存映射的千万级数据处理框架
    LesenRPC-基于netty/protobuffer的高性能RPC框架
    java垃圾回收机制详解
    MVC架构详解
    用抽象实现代码解耦
    python按年份统计文件数量
  • 原文地址:https://www.cnblogs.com/kuangdaoyizhimei/p/3191760.html
Copyright © 2011-2022 走看看