#include #include using namespace std; struct Str{ char s[55]; int num; //逆序数个数 }; bool cmp(const Str &a,const Str &b) { return a.num>n>>m) { for(i=0;i>str[i].s; for(i=0;i=0;j--) { switch(str[i].s[j])//计算逆序数 { case 'A':A++;break; case 'C':C++;sum+=A;break; case 'G':G++;sum+=A;sum+=C;break; case 'T':sum+=A;sum+=C;sum+=G;break; default:break; } } str[i].num=sum; } stable_sort(str,str+m,cmp);//sort函数是不稳定排序,但可以设置cmp不带等号,stable_sort函数是稳定排序 for(i=0;i