老熟女激烈的高潮_日韩一级黄色录像_亚洲1区2区3区视频_精品少妇一区二区三区在线播放_国产欧美日产久久_午夜福利精品导航凹凸

STL【C++】-創新互聯

STL中的基本容器:

成都網絡公司-成都網站建設公司創新互聯十余年經驗成就非凡,專業從事成都網站建設、成都網站制作,成都網頁設計,成都網頁制作,軟文平臺一元廣告等。十余年來已成功提供全面的成都網站建設方案,打造行業特色的成都網站建設案例,建站熱線:18980820575,我們期待您的來電!

vector :? 變長數組 , 倍增的思想(由于系統為某一程序分配空間時,所需時間與空間大小無關,與申請次數有關,所以每次增加數組長度時會增加一倍(空間換時間))

pair : 存儲一個二元組

string : 字符串 , substr() , c_str()

queue : 隊列 , push() , front() , pop()

priority_queue : 優先隊列 ,默認是大根堆,?push() , top() , pop()

stack : 棧 , push() , top() , pop()

deque :? 雙端隊列(不常用,效率比一般的數組慢好幾倍)

set , map , multiset , multimap : 基于平衡二叉樹(紅黑樹),動態維護有序序列

unordered_set , unordered_map , unordered_multiset , unordered_multimap : 哈希表

bitset :? 壓位


用到的頭文件:?

#include#include#include#include 
#include#include#include#include#include#include#include#include#include

基本用法:

一、vector

#includeint main()
{
    vectora , a(10) , a[10] , a(10,3);
    a.size(); //返回元素個數 ,O(1)
    a.empty(); // 返回是否為空 , O(1)
    a.clear(); // 清空
    a.front()/a.back(); // 返回第一個/最后一個數
    a.push_back()/a.pop_back(); // 在最后插入一個數/刪掉最后一個數
    a.begin()/a.end(); // 返回第0個數/最后一個數后面的一個數
    a[8] , a[84]; // 隨機取址

    遍歷:
    一:
    for(int i = 0 ; i< 10 ; i ++) a.push_back(i);
    for(int i = 0 ; i< a.size() ; i ++) cout<< a[i]<< ' ' ;
    cout<< endl;
    二:迭代器:可以理解為指針,所以需要用*來取出值
    for(vector::iterator i = a.begin() ; i != a.end() ; i ++ ) cout<< *i<< ' ';
    cout<< endl;
    三:
    for(auto x : a) cout<< x<< ' ';
    cout<< endl;

    支持比較運算(按字典序):
    vectora(4,3) , b(3,4);
    if(a< b) puts("a< b");

    return 0;
}

二、pair

int main()
{
    //創建和初始化:
    pair>P;  //<>里面可以是任意類型的兩個變量
    pairp(10,"abc");
    pairp1,p2; 
    p1 = make_pair(10 , "abc");
    p2 = p1;

    p2.first; // 第一個元素
    p2.second; // 第二個元素
    cout<< p2.first<< p2.second<< endl;

    支持比較運算,以first為第一關鍵字,second為第二關鍵字(按字典序)

    return 0;
}

三、string

int main()
{
    string s;
    s.size(); //返回字符個數
    s.empty(); //返回字符串是否為空
    s.clear(); // 清空字符串

    支持加法運算(每個加法運算都有一個運算符是string):
    s += "abc";
    s += 'c';

    s.substr(1,2); //返回某段字符串,第一個參數表示從這一位置(1)開始,第二個參數表示返回字符串長度(2)
    s.substr(1); // 省略第二個參數,返回從1(第一個參數)開始到末尾的字符串

    輸出:
     cout<< s<< endl;
     printf("%s\n",s.c_str());
    
    return 0;
}

四、queue

#includeint main()
{
    queueq;
    q.size() , q.empty();
    q.push(5); // 向隊尾插入一個元素
    q.front(); // 返回隊頭元素
    q.back(); // 返回隊尾元素
    q.pop(); // 彈出隊頭元素

    q = queue(); // 清空只需要重新定義一下

    return 0;
}

五、priority_queue

#include#includeint main()
{
    priority_queueh;
    h.push(8);//插入一個元素
    h.top();//返回堆頂元素
    h.pop();//彈出堆頂元素

    定義成小根堆的方式:、
    priority_queue, greater>q;

    return 0;
}

六、stack

#includeint main()
{
    stacks;
    s.size(),s.empty();
    s.push(4); // 向棧頂插入一個元素
    s.top(); //返回棧頂元素
    s.pop(); //彈出棧頂元素

    return 0;
}

七、deque(不常用,效率低)

#includeint main()
{
    dequeq;
    q.size(),q.empty();
    q.front()/q.back(); //返回第一個/最后一個元素
    q.push_back()/q.pop_back(); //向最后插入一個元素/彈出最后一個元素
    q.push_front()/q.pop_front(); //從隊首插入/彈出隊首元素
    q.begin()/q.end(); //迭代器
    q.clear();
    q[5],q[8];//隨機取址

    return 0;
}

八、set、multiset、map、multimap(自動排序)

#include#includeint main()
{
    增刪改查的操作時間復雜度都是O(logn)
    int x;
    public:
        size();
        empty();
        clear();
        begin()/end(); //支持++,--操作,返回前驅和后繼,O(logn)

    sets/multisetms; //set里面不允許有重復的數

        insert(x); //插入一個數(6)
        find(x); //查找一個數(4),不存在返回s.end()
        count(x); //返回某個數(5)的個數
        erase();//(1) 輸入是一個數x,刪除所有x  O(k+logn),k是x的個數
                //(2)輸入是一個迭代器,刪除迭代器
        lower_bound(x); //返回大于等于x的最小的數的迭代器
        upper_bound(x); //返回大于x的最小的數的迭代器

    mapa/multimapua;
        insert(x); //插入的數是一個pair
        erase(); //輸入的參數是pair或者迭代器
        find(x);
        a["abc"] = 1; //可以像數組一樣用,O(logn)
        lower_bound(x)/upper_bound(x);

    return 0;
}

九、unordered_set , unordered_map , unordered_multiset , unordered_multimap(不會自動排序)

#include#includeint main()
{
    增刪改查的時間復雜度都是O(1)
    int x;
    public:
        size();
        empty();
        clear();

    unordered_sets/unordered_multisetms; //set里面不允許有重復的數

        insert(x); //插入一個數(6)
        find(x); //查找一個數(4),不存在返回s.end()
        count(x); //返回某個數(5)的個數
        erase();//(1) 輸入是一個數x,刪除所有x 
                //(2)輸入是一個迭代器,刪除迭代器

    unordered_mapa/unordered_multimapua;
        insert(x); //插入的數是一個pair
        erase(); //輸入的參數是pair或者迭代器
        find(x);
        a["abc"] = 1; //可以像數組一樣用

    return 0;
}

十、bitset

#includeint main()
{
   bitset<10000>s;
   支持所有位運算:
    ~ , & , | , ^ , >>,<< , == , != , []
    
    count(); //返回有多少個1
    any(); //判斷是否至少有一個1
    none(); // 判斷是否全為0

    set(); // 把所有位置成1、
    set(k,v); // 將第k為變成v
    reset(); // 把所有位變成0
    flip(); // 等價于~
    flip(k) ; // 把第k位取反

    return 0;
}

你是否還在尋找穩定的海外服務器提供商?創新互聯www.cdcxhl.cn海外機房具備T級流量清洗系統配攻擊溯源,準確流量調度確保服務器高可用性,企業級服務器適合批量采購,新人活動首月15元起,快前往官網查看詳情吧


當前題目:STL【C++】-創新互聯
分享鏈接:http://www.xueling.net.cn/article/idgdc.html

其他資訊

在線咨詢
服務熱線
服務熱線:028-86922220
TOP
主站蜘蛛池模板: 久久中文无码日韩AV | 91自拍.com | 好男人蜜桃av久久久久久蜜桃 | 国产精品高清网站 | 蜜桃麻豆| 国产成人亚洲综合a∨婷婷图片 | 亚洲卡一卡二新区永久时长 | 67194成l人在线观看线路无码 | 91在线视频?看免费 高清在线一区二区 | 狠狠艹狠狠干 | 91av在线影院| china对白普通话xxxx | 极品少妇ⅩXXXⅩ护士 | 日本无人区码suv | 五月天中文字幕av | 免费在线观看色视频 | 国产真实强奷系列在线观看 | 午夜亚洲国产理论片亚洲2020 | 欧美一区二区观看视频 | 亚洲精品久久无码AV片软件 | 91se在线 | 天天干天天操天天拍 | 国产午夜高清 | 久久综合狠狠综合久久激情 | 一区二区三区视频在线免费观看 | 99毛片| 日本a级毛片免费视频播放 国产综合影院 | 天天综合视频 | 免费色综合 | 丁香成人区 | 91大片淫黄大片在线天堂 | 日韩精品午夜 | 国产精品亚洲精品日韩已方 | 国产精品高清一区二区不卡片 | 亚洲AV无码精品国产成人 | 人人妻人人妻人人片色av | 免费成人午夜 | 精品午夜福利在线观看 | 免费国产黄网站在线观看动图 | 日韩欧美一区二区中文字幕 | 一级黄色靠逼 |