• 部分STL容器


    string 容器

    常见用法
    string s1 = "Hello"
    string s2("Hello")
    string s3(s2)
    string s4 = s3
    getline(cin,s)// 从cin中读取一行给s
    s.empty()// 空?true:false;
    s.size()//返回字符串个数
    +,=,==,!= 与其余数据结构类似
    <,<=,>,>= //按照字典序比较
    
    拓展
    //查找子串
    sq.find(s,0)//返回的是子串位置。yl第二个参数是查找的起始位置,如果找不到,就返回string::npos
    if (sq.find("aa1", 0) == string::npos)
    {
        cout << "找不到该子串!" << endl;
    }
    //append()与 replace()函数
    str.append(args)    // 在尾部添加一个字符或一个字符串
    str.replace(pos, args) 
    //访问子串
    str.find(args)  //查找args 第一次出现的位置
    str.rfind(args)  //查找args最后一次出现的位置
    

    vector

    初始化
    vector<int> v1;
    vector<vector<int> >;  //注意空格。这里相当于二维数组int a[n][n]嵌套vector;
    vector<int> v5 = { 1,2,3,4,5 }; //C11列表初始化
    vector<string> v10(4); //默认初始化为空字符串
    
    其他
    v.empty()
    v.size()
    v.push_back()
    <,<=,>,>=  字典序比较
    v.erase()
    v.clear()
    v.insert()
    v1.insert(iter,  a)        // 将元素a 插入到迭代器指定的位置的前面,返回新插入元素的迭代器(在c++11标准之前的版本,返回void)
    v1.insert(iter, iter1, iter2)       //把迭代器[iterator1, iterator2]对应的元素插入到指定的位置的前面
    v1.erase(iterator)     // 删除人人迭代器指定的元素,返回被删除元素之后的元素的迭代器。(效率很低,最好别用)
    

    Set

    multiset<int>st;//多重集
    s.begin();//返回集合第一个元素
    s.end();
    s.clear();
    s.empty();
    s.insert();
    s.erase();
    s.size();
    set<int>s;
    set<int,greater<int > >s2;//带大于比较器的集合(默认为小于)
    int a[5]={1,2,3,4,5};
    set<int > s(a,a+5);//用数组初始化
    set<int > s(setc.begin(),setc.end());//用集合初始化
    set<int > sete(sete);//拷贝
    s.erase(_x);
    s.clear();
    s.find(_x);//存在? 地址:s.end();
    s.lower_bound(_x);//返回迭代器
    s.upper_bound(_x);//返回迭代器
    //自定义比较函数
    struct cmp{
        bool operator () (const int &a,const int &b){
            return a>b;
        }
    }
    set<int,cmp>s;
    //指针
    set<int>::iterator it;
    auto it;
    next(it)//it 的下一个
    prev(it)//it 的上一个
    

    MAP

    mp.clear()
    auto it = it.begin()
    it.first()//key
    it.second()//value
    
  • 相关阅读:
    剑指offer 44.知识迁移能力 翻转单词顺序列
    Spark Streaming 概述+DStream工作原理+与Storm对比+实时WordCount
    剑指offer 43.知识迁移能力 左旋转字符串
    剑指offer 42.知识迁移能力 和为S的两个数字
    剑指offer 41.知识迁移能力 和为S的连续正数序列
    剑指offer 40.知识迁移能力 数组中只出现一次的数字
    Spark 在yarn上运行模式详解:cluster模式和client模式
    10.25模拟赛
    线段树+Dfs序【p2982】[USACO10FEB]慢下来Slowing down
    线段树 (区间合并)【p2894】[USACO08FEB]酒店Hotel
  • 原文地址:https://www.cnblogs.com/yesuweiYYYY/p/14670532.html
Copyright © 2020-2023  润新知