栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

STL容器

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

STL容器

粗略的总结

  • stl容器

    cin>>s;    空格,回车,EOF结束

    getline(cin,s); 输入一行,空格不结束

    长度s.size();

    遍历:

    for(int i=0;i

    cout<

    }

    拼接:string t=”123”;

    string s=”456”;

    s=s+t;//s=”123456”;

    s=s+”789”;//s=”123456789”;

    s=”00”+s;//s=”00123456789”

    清空:s.clear();

      s.empty();//如果s为空则值为1,否则为0;

  • vector

    一维的操作:
    定义:vectorv;

    插入:v.push_back(1);

    cout<

    二维的操作:

    vector< vector > asd1;//定义

    对于一维数组,可以使用size()获取其长度。

    int size = asd.size();

    对于二维数组,可以使用以下方法获取行、列的长度。

    int size_row = asd1.size();          //获取行数

    int size_column = asd1[0].size();    //获取列数

    直接赋值即可

    asd1[1][1] = 1;

    cout << asd1[1][1] <

    asd1[1].push_back(23); //插入列元素

    asd1.push_back(asd); //插入一行

    删除行:

    auto test1 = asd1.begin();

    asd1.erase(++test1);

    删除列:

    auto test2 = test1.begin();

    asd1[0].erase(++test2);

    遍历:

    vector >::iterator p1;

    vector::iterator p2;

    for (p1 = a.begin(); p1 != a.end(); p1++){

            for (p2 = p1->begin(); p2 != p1->end(); p2++){

                    cout << "[" << *p2 << "]";

            }

  • stack

    stackst;

    先进后出
    输入:
    st.push(1);//在栈首增加
    输出:
    st.top();//输出栈首元素
    st.pop();//删除栈首元素
    重新定义就自动清空了
    while(cin>>n) stackst;

  • queue

    queueq;

    先进先出

    输入:
    q.push(1);

    输出:
    q.front();
    q.pop();

    优先队列

    priority_queueq;//大根堆,降序排序
    输入:
    q.push(1);  

    输出:
    q.top();
    q.pop();

    priority_queue,greater>tp;//小根堆,升序排序

  • set去重排序

    setst;
    st.insert();
    *st.begin();//第一个元素   *st.end();最后一个元素
    st.find(1);//查找有无1这个元素;
    st.count(1);//有几个元素1;
    multisetst;//不去重排序;

  • map数组

    mapmp;//int相当于下标,string相当于内容
    int和string的类型可以随意更改;
    mp[1]=”123”;

  • deque双端队列

    dequed;

    迭代器:

    begin() 指向第一个元素位置

    end() 指向最后一个元素后一个位置

    rbegin() 指向第一个元素之前一个位置

    rend() 指向最后一个元素位置

    容量相关:

    size() 返回容器大小

    max_size() 返回容器最大容量

    empty() 判断容器是否为空

    resize() 改变容器大小

     成员访问:

    使用[ ]方式访问,使用.at()方式访问

    front()  返回第一个元素

    back()  返回最后一个元素

    容器调整:

    assign 重新给容器分配元素

    push_back 向容器末尾插入元素

    push_front 向元素开头插入元素

    pop_back 删除末尾元素

    pop_front 删除开头元素

    insert 向指定位置插入元素,返回值为指向最后一个插入位置的迭代器

    erase 删除元素

    swap 交换两个容器

    clear 清空容器

    emplace 向指定位置插入元素,只能插入单个元素

    emplace_front 在容器开头插入元素(效率比push_front高)

    emplace_back 在容器末尾插入元素

  • 转载请注明:文章转载自 www.mshxw.com
    本文地址:https://www.mshxw.com/it/733369.html
    我们一直用心在做
    关于我们 文章归档 网站地图 联系我们

    版权所有 (c)2021-2022 MSHXW.COM

    ICP备案号:晋ICP备2021003244-6号