• 热门专题

数据排序(STL)

作者:CplusHua的博客  发布日期:2012-12-17 10:37:36
Tag标签:数据排序  
  • STL

    其中注意stable_sort,这样就容易多了

    Description

    ZZK和SYC不知从哪个老师那里拿到了一堆实验数据,需要排序后再交回去。 实验数据的格式为: 样本序号 观测数据 要求按照观测数据由小到大排列,当观测数据相等时按照出现顺序排列

    Input

    实验数据,每行两个不超过100000的整数,分别为样本序号和观测数据,直到EOF 保证不超过100000行  www.it165.net

    Output

    排序后的实验数据

    Sample Input


    4 2
    5 4
    4 3
    3 4
    2 9
    5 6
    6 10
    3 5
    10 4
    10 8
    5 4
    7 6
    1 4
    3 10
    8 7
    8 7
    5 4
    3 4
    4 4
    6 5


     

    Sample Output


    4 2
    4 3
    5 4
    3 4
    10 4
    5 4
    1 4
    5 4
    3 4
    4 4
    3 5
    6 5
    5 6
    7 6
    8 7
    8 7
    10 8
    2 9
    6 10
    3 10


     

    HINT

    对结构体排序可能需要自定义比较方法或着重载运算符

    #include<iostream>
    #include<string>
    #include <algorithm>
    #include <vector>
    #include<stdio.h>
    using namespace std;
    struct ss
    {
        int a;
        int b;
    }mystruct;
    bool myfunction (ss m,ss n){return m.b<n.b;}
    int main()
    {
        int a,b;
        ss p;
        vector<ss> myvector ;
        vector<ss>::iterator it;
        while(scanf("%d%d",&a,&b)!=EOF)
        {
        p.a=a;
        p.b=b;
        myvector.push_back(p);
        }
         stable_sort (myvector.begin(), myvector.end(), myfunction);
        for (it=myvector.begin(); it!=myvector.end(); ++it)
         printf("%d %d\n",(*it).a,(*it).b);
        return 0;
    }


     

延伸阅读:

About IT165 - 广告服务 - 隐私声明 - 版权申明 - 免责条款 - 网站地图 - 网友投稿 - 联系方式
本站内容来自于互联网,仅供用于网络技术学习,学习中请遵循相关法律法规