zoukankan      html  css  js  c++  java
  • STL_sort cmp

    学习,记录,成长。初次见面请多指教。

    #include <iostream>
    #include <vector>
    #include <algorithm>
    using namespace std;
    struct node
    {
        int xi;
        int mi;
        /* data */
    };
    
    bool lessmark(const node &s1, const node &s2)
    {
        return s1.mi > s2.mi;
    }
    int main()
    {
        vector<node> lian;
        int m, n, a, b;
        cin >> m >> n;
        node data;
        for (int i = 0; i < (m + n); i++)
        {
            cin >> a >> b;
            data.xi = a;
            data.mi = b;
            lian.push_back(data);
        }
        sort(lian.begin(), lian.end(), lessmark);
        for (int i = 0; i < lian.size(); i++)
        {
            if ((i + 1) < lian.size() &&lian[i].mi == lian[i + 1].mi)
            {
                lian[i + 1].xi += lian[i].xi;
                lian[i].xi = 0;
            }
            if (lian[i].xi != 0)
                cout << lian[i].xi << " " << lian[i].mi << endl;
        }
        lian.clear();
        return 0;
    }

    补充一些常用的STL

    next_permutation(a,a+n)生成下一个较大排列

    bool  binary_search(a,a+9,4)(有序)二分查找

    lower_bound(a,a+9,4)返回第一个大于或等于

    upper_bound(a,a+9,2)返回第一个大于

    unique(a,a+9)删重

    memset(a,0,sizeof(a))

    memset(a,0x3f,sizeof(a))

    reverse(a,a+9)自身翻转容器

    abs()  fabs()

    读整行 string s getline(cin,s)   or   char s[1024] cin.getline(s,1024)

    bool cmp(const node &s1, const node &s2)

    {

        return s1.mi > s2.mi;

    }

    容器类

    size()   O(1)      empty()   空true

  • 相关阅读:
    dnsever 邮件记录
    用于显示上个月和下个月_PHP
    JSON学习
    ASP生成新会员编号
    godaddy_关于产品退款
    Switch Case语句中多个值匹配同一个代码块的写法
    网闸与防火墙的比较
    bench.sh 跑分测速
    Kcptun加速SS
    linux 安全狗
  • 原文地址:https://www.cnblogs.com/thx2199/p/14510979.html
Copyright © 2011-2022 走看看