poj1007

简单排序

View Code
//poj1007

#include <iostream>

#include <algorithm>

#include <string>

using namespace std;



const    int        maxn = 101;



struct  item

{

    string    sequence;

    int        unsort;

}dna[maxn];



int        n, m;



bool operator<(item a, item b)

{

    return a.unsort < b.unsort;

}



int calculate(string st)

{

    int        i, j, ans;

    

    ans = 0;

    for (i = 0; i < st.length(); i++)

        for (j = i; j < st.length(); j++)

            if (st[i] > st[j])

                ans++;

    return ans;

}



void init()

{

    int        i;



    getchar();

    for (i = 0; i < n; i++)

    {

        getline(cin, dna[i].sequence);

        dna[i].unsort = calculate(dna[i].sequence);

    }

}



void print()

{

    int        i;

    

    for (i = 0; i < n; i++)

        cout << dna[i].sequence << endl;

}



int main()

{

    //freopen("t.txt", "r", stdin);

    cin >> m >> n;

    init();

    sort(dna, dna + n);

    print();

    return 0;

}

你可能感兴趣的:(poj)