• C++ STL总结


    《算法笔记》阅读以及个人使用记录

     vector
     set
     string
     map
     queue
     stack
    

    vector的用法

    特点:可变长度数组

    1. vector 的定义以及迭代器定义
      vector<typename> name;
      vector<typename>::iterator it;
    2. 方法
    vector<typename> vi;
    //访问
    vi[0] vi[1]
    *(it) *(it +1)
    
    //添加元素
    vi.push_back(1);
    
    //删除元素
    vi.pop_back();//尾元素
    vi.erase(it);
    vi.erase(it,it+3);
    
    //获取大小
    vi.size();
    
    //清空
    vi.clear();
    
    //插入
    vi.insert(vi.begin()+2,2333);//将2333插入vi[2]位置
    
    
    

    set的常见用法

    特点:内部自动有序齐且不含重复元素。

    1. set 的定义以及迭代器定义
      set<typename> name
      set<typename>::iterator it
    2. 方法
    //插入
    st.inser(x);
    //查询
    st.find(x);
    //删除
    st.earse(it);
    st.earse(x);
    st.earse(first,last);
    //其他
    st.size();
    st.clear();
    

    3.注意

    在使用find时,涉及到for判断不能用<,而应该使用!=。

    string的常见用法

    1.定义及迭代器定义
    string str;
    string::iterator it;
    2.方法

    //直接相加
    str3 = str1+str2;
    //可按照字典序比较大小
    //插入
    str.insert(404,"life is too damn short");
    //查找
    str.find(str2,pos)
    //  删除
    str.erase(it);
    str.erase(it+1,it+3);
    str.clear();
    //分离输出
    str.substr(0,5);
    //替代
    str.replace(pos,len,str2);
    

    map的常见用法

    特点: 可以将任何基本类型映射到任何基本类型。
    1.定义及迭代器定义
    map<typename1,typename2> mp;
    map<typename1,typename2>::iterator it;
    2.方法

    mp.find();
    mp.earse();
    mp.size();
    mp.clear();
    

    queue的常见用法

    特点:先进先出容器
    1.定义
    queue<typename> name;
    2.方法

    q.push();
    q.pop();
    q.front();
    q.back();
    q.empty();//检查是否为空
    q.size();
    

    3.注意
    queue的push操作知识创造了某元素的一个副本,因此在入队后对该元素修改不会影响队列中的副本。
    解决:传址不传值。
    特点:后进后出
    1.定义
    stack<typename> st;
    2.方法

    st.push();//入栈
    st.top();
    st.pop();
    st.empty();//判空
    st.size();
    
  • 相关阅读:
    eval函数欺负我
    JS Compress and Decompress
    PowerDesigner 把Comment写到name中 和把name写到Comment中 pd7以后版本可用
    vue + axios 通过Blob 转换excel文件流 下载乱码问题
    poj 3687Labeling Balls
    poj 2485Highways
    poj 1258AgriNet
    poj 3041Asteroids
    poj 1035Spell checker
    poj 3020Antenna Placement
  • 原文地址:https://www.cnblogs.com/xinyuLee404/p/12557079.html
Copyright © 2020-2023  润新知