zoukankan      html  css  js  c++  java
  • STL容器用法速查表:list,vector,stack,queue,deque,priority_queue,set,map

    STL容器用法速查表:list,vector,stack,queue,deque,priority_queue,set,map

      list vector deque stack queue priority_queue

    set

    [unordered_set]

    map

    [unordered_map]

    multimap

    [unordered_multimap]

        contiguous storage double-ended queue LIFO FIFO 1st is greatest      
    Iterators       X X X      
    Element access push_back push_back push_back push push push      
    push_front   push_front            
    pop_back pop_back pop_back pop pop pop      
    pop_front   pop_front            
    front front front top front top      
    back back back   back        
      at(i) at(i)         at(key)  
    Modifiers assign assign assign            
    insert insert insert      

    insert

    emplace

    insert

    emplace(key,val)

     insert

    emplace(key,val)

    erase erase erase       erase

    erase(key)=>erasednum

    erase(it/ita,itb)=>it

    erase(key)=>int(多个)

    erase(it/ita,itb)=>it

    swap swap swap       swap swap(mapb) swap(mapb)
    clear clear clear       clear clear()  clear()
    Capacity resize resize resize            
    empty empty empty empty empty empty empty empty()  empty()
    Operations splice           find find(key)=>it  find(key)=>it(单个)
    remove           count count(key)  count(key)
    remove_if           equal_range equal_range  equal_range(pair)
    unique           upper_bound upper_bound  upper_bound
    merge           lower_bound lower_bound  lower_bound
    sort                
      reverse                

    List Operations

    list splice // it points to 2 | mylist1: 1 2 3 4 |mylist2: 10 20 30 
    mylist1.splice (it, mylist2); 
    // mylist1: 1 10 20 30 2 3 4 | mylist2 (empty)|"it" still points to 2 
    mylist2.splice (mylist2.begin(),mylist1, it); 
    // mylist1: 1 10 20 30 3 4 | mylist2: 2 | "it" is now invalid. 
    mylist1.splice ( mylist1.begin(), mylist1, it, mylist1.end()); 
    //"it" points now to 30 | mylist1: 30 3 4 1 10 20
    remove mylist.remove (value); 
    remove_if mylist.remove_if (function); 
    mylist.remove_if(class());
    unique bool same_integral_part (double first, double second) 
    { return ( int(first)==int(second) ); } 
    mylist.sort();             //  2.72,  3.14, 12.15, 12.77, 12.77, 
                                 // 15.3,  72.25, 72.25, 73.0,  73.35 
    mylist.unique();           //  2.72,  3.14, 12.15, 12.77 
                                 // 15.3,  72.25, 73.0,  73.35 
    mylist.unique (same_integral_part);  //  2.72,  3.14, 12.15 
                                           // 15.3,  72.25, 73.0
    merge first.sort(); 
    second.sort(); 
    first.merge(); 
    first.merge(second,mycomparison);
    sort  
    reverse  
     
    from: http://www.cnblogs.com/wei-li/p/3353143.html
  • 相关阅读:
    fiber
    ACM用到的算法。先做个笔记,记一下
    matlab安装及破解
    银行家算法
    网络安全(超级详细)零基础带你一步一步走进缓冲区溢出漏洞和shellcode编写!
    心脏滴血漏洞复现(CVE-2014-0160)
    KMP算法分析
    利用BURPSUITE检测CSRF漏洞
    BURPSUITE爆破密码
    动态规划—最长回文子串LEETCODE第5题深度剖析
  • 原文地址:https://www.cnblogs.com/GarfieldEr007/p/5280807.html
Copyright © 2011-2022 走看看