题目描述
先求出每个字符串的逆序数,再根据逆序数进行排序
运用结构体存储字符串及其逆序数,并对结构体进行排序
#include<iostream>
using namespace std;
struct DNA{
string str;
int num;
};
DNA d[200];
int main(){
int m,n;
cin>>n>>m;
for(int i=0;i<m;i++){
cin>>d[i].str;
d[i].num=0;
for(int j=0;j<n;j++)
{
for(int k=j;k<n;k++)
if(d[i].str[j]>d[i].str[k])
d[i].num++;
}
}
for(int i=0;i<m-1;i++)
for(int j=0;j<m-1-i;j++)
if(d[j].num>d[j+1].num){
swap(d[j],d[j+1]);
}
for(int i=0;i<m;i++)
cout<<d[i].str<<endl;
}