zoukankan      html  css  js  c++  java
  • 实用函数

    string.find()

    用于搜索子串在母串中的位置,如果找到,返回子串首个元素的下标;如果找不到,返回s.npos

        string s = "111177771111";
        cout << s.find("7777");
        //结果为: 4
    
        string s = "111177771111";
        if (s.find("222") == s.npos) cout << "Not found";
        //结果为: Not found
    

    priority_queue

    priority_queue<int, vector<int>, less<int> > q;
    //降序排列
    
    priority_queue<int, vector<int>, greater<int> > q;
    //升序排列
    

    map.count()

    map.count(Key),在map中检索索引Key,若其存在,返回true,否则返回false

    注意仅能检索索引,不能检索值

    #include<map>
    map<int,int> m;
    
    if(m.count(key)){...;}
    
    #include<map>
    #include<iostream>
    using namespace std;
    
    int main()
    {
        map<char,int> m;
        m['a'] = 1;
        m['b'] = 2;
        if (m.count('a')) cout << m['a'] << endl;
        if (m.count('c')) cout << m['c'] << endl;
        if (m.count (1) ) cout<<3<<endl;
        return 0;
    }
    //仅能执行第一条if语句,打印结果为1
    

    inserter()

    与其它函数结合使用,使元素插入到该函数参数迭代器所指向的元素之前

    #include<iterator>
    
    iterator(a,a.begin());
    //参数分别为 容器名,指向给定容器的迭代器
    //返回值为迭代器
    

    set_union()

    求并集操作

    可以将两个容器a,b合并到一个容器c中,并自动去重

    容器可以是集合也可以是数组等。

    注意:容器a,b必须有序

    #include<iterator>
    #include<algorithm>
    
    set_union(a.begin(),a.end(),b.begin(),b.end(),inserter(c,c.begin()));
    
    #include<iterator>
    #include<algorithm>
    #include<set>
    #include<iostream>
    using namespace std;
    
    int main()
    {
        set<int> a;
        set<int> b;
        set<int> c;
        for (int i = 1;i <= 5;i++) a.insert(i);
        //a={1,2,3,4,5}
        for (int i = 3;i <= 7;i++) b.insert(i);
        //b={3,4,5,6,7}
        set_union(a.begin(), a.end(), b.begin(), b.end(), inserter(c, c.begin()));
        set<int>::iterator it;
        for (it = c.begin();it != c.end();it++) {
            cout << *it << " ";
        }
        //c={1,2,3,4,5,6,7}
        return 0;
    }
    

    打印容器c,结果为1 2 3 4 5 6 7


    set_intersection()

    求交集操作

    基本同set_union()

    #include<iterator>
    #include<algorithm>
    
    set_intersection(a.begin(),a.end(),b.begin(),b.end(),inserter(c,c.begin()));
    
    #include<iterator>
    #include<algorithm>
    #include<set>
    #include<iostream>
    using namespace std;
    
    int main()
    {
        set<int> a;
        set<int> b;
        set<int> c;
        for (int i = 1;i <= 5;i++) a.insert(i);
        //a={1,2,3,4,5}
        for (int i = 3;i <= 7;i++) b.insert(i);
        //b={3,4,5,6,7}
        set_intersection(a.begin(), a.end(), b.begin(), b.end(), inserter(c, c.begin()));
        set<int>::iterator it;
        for (it = c.begin();it != c.end();it++) {
            cout << *it << " ";
        }
        //c={3,4,5}
        return 0;
    }
    

    打印容器c,结果为3 4 5

  • 相关阅读:
    Java编程基础
    Python开发【第十四篇】:Python操作MySQL
    MySQL(二)
    MySQL(一)
    Python之路【第五篇】:面向对象及相关
    Python开发【第四篇】:Python基础之函数
    Python开发【第三篇】:Python基本数据类型
    等保测评备案流程?备案资料有哪些?
    xls/csv文件转换成dbf文件
    csv 转换为DBF文件的方法
  • 原文地址:https://www.cnblogs.com/streamazure/p/12607040.html
Copyright © 2011-2022 走看看