partial_sort 二 重载cmp()运算符

#include
#include
#include 
#include 

using namespace std;

const int maxn = 3000+10;
int data[maxn];
struct node
{
    int x,y;
    char name[20];
} re[maxn];
// bool cmp(const struct node a,const struct node b)
// {
//     return (a).x - (b).x;
// }
class cmp{
public:
    bool operator()(const node &a,const node &b)
    {
        //return a.x > b.x;
        if(strcmp(a.name,b.name) > 0)
            return true;
        return false;
    }
};

int main()
{
    int N,M,i;
//    vector re(maxn*maxn/2);
    
    while(scanf("%d%d",&N,&M)!=EOF)
    {
        for(i = 0; i < N; i ++)// 输入n个数字
            scanf("%s",&re[i].name);
        partial_sort(re,re+M,re+M,cmp());//排出前M大个数字
        for( i = 0; i < M; i ++)
            if(i ==0) cout<             else cout<<" "<//         for( i = 0; i < M; i ++)
//             if(i ==0) cout<//             else cout<<" "<        printf("/n");
    }
    return 0;

你可能感兴趣的:(c++,ini)