#include <iostream>
#include <string>
#include <algorithm>
using namespace std;
struct List{ int num; string str;};
int Fun(string ch)
{ int num=0;
for(unsigned int i=0;i<ch.length();i++)
{
for(unsigned int j=i+1;j<ch.length();j++)
{ if( ch[i] > ch[j] )num++; }
}
return num;
}
bool cmp(const List *a,const List *b)
{ return a->num > b->num;}
int main(void)
{ int x,y;
cin>>x>>y;
struct List *p=new struct List[y];
for(int i=0;i<y;i++)
{ cin>>(p+i)->str; }
for(int i=0;i<y;i++)
{ (p+i)->num = Fun( (p+i)->str ); }
sort(p,p+y,cmp);
for(int i=0;i<y;i++)
{ cout<<(p+i)->str<<endl; }
return 0;
}
关于一个结构体的排序,sort()那里一直出错,百度了很多还是不知道改了
#include <string>
#include <algorithm>
using namespace std;
struct List{ int num; string str;};
int Fun(string ch)
{ int num=0;
for(unsigned int i=0;i<ch.length();i++)
{
for(unsigned int j=i+1;j<ch.length();j++)
{ if( ch[i] > ch[j] )num++; }
}
return num;
}
bool cmp(const List *a,const List *b)
{ return a->num > b->num;}
int main(void)
{ int x,y;
cin>>x>>y;
struct List *p=new struct List[y];
for(int i=0;i<y;i++)
{ cin>>(p+i)->str; }
for(int i=0;i<y;i++)
{ (p+i)->num = Fun( (p+i)->str ); }
sort(p,p+y,cmp);
for(int i=0;i<y;i++)
{ cout<<(p+i)->str<<endl; }
return 0;
}
关于一个结构体的排序,sort()那里一直出错,百度了很多还是不知道改了