STL标准模板库-概念

知识点1【STL的概述】(了解)

STL(Standard Template Library,标准模板库。

STL提供了核心的容器、算法、迭代器。(3大核心组件

STL的六大组件:容器、算法、迭代器、仿函数、适配器、空间配置器。

六大组件:

容器:存放数据

算法:操作数据

迭代器:算法 借助迭代器 操作容器。 迭代器和容器 是一一对应的.

仿函数:为 算法 提供策略。

适配器:为算法提供更多的参数接口

空间配置器:为容器和算法分配空间的(知道就行)

补充描述:

1、算法:算法分为质变算法和非质变算法。

质变算法:是指运算过程中会更改区间内的元素的内容。例如拷贝,替换,删除等 等

非质变算法:是指运算过程中不会更改区间内的元素内容,例如查找、计数、遍 历、寻找极值等等

2、迭代器的分类

 知识点2【迭代器的了解】(了解)

迭代器 是属于容器。

1、迭代器的简单分析

 

 2、迭代器操作

 3、容器嵌套容器

void test03()
{
    vector<int>  v1;
    v1.push_back(10);
    v1.push_back(20);
    v1.push_back(30);
    v1.push_back(40);

    vector<int>  v2;
    v2.push_back(100);
    v2.push_back(200);
    v2.push_back(300);
    v2.push_back(400);

    vector<int>  v3;
    v3.push_back(1000);
    v3.push_back(2000);
    v3.push_back(3000);
    v3.push_back(4000);

    vector<vector<int>> v;
    v.push_back(v1);
    v.push_back(v2);
    v.push_back(v3);

    vector<vector<int>>::iterator it;
    for(it=v.begin(); it!=v.end(); it++)
    {
        //*it == vector<int>
        vector<int>::iterator mit;
        for(mit=(*it).begin(); mit != (*it).end(); mit++)
        {
            //*mit == int
            cout<<*mit<<" ";
        }
        cout<<endl;
    }
}

 知识点3【STL容器的场景】(了解)

vector 的使用场景:比如软件历史操作记录的存储、数组

deque 的使用场景:比如排队购票系统、评分系统

list 的使用场景: 比如公交车乘客的存储,随时可能有乘客下车,支持频繁的不确实位置元素的移除 插入。

set 的使用场景:比如对手机游戏的个人得分记录的存储,存储要求从高 分到低分的顺序排列

map 的使用场景:比如按 ID 号存储十万个用户,想要 快速要通过 ID 查找对应的用

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值