一、STL概论与版本简介

  1. STL提供六大组件:
    容器containers:
    算法algorithms:
    迭代器iterators:
    仿函数functors:
    配接器adapters:
    配置器allocators:

  2. 只在函数内部使用的函数可以用_advance()表示,前面加_符号,特定的前导符

    list不能使用STL算法sort(),必须使用自己的sort() member function,因为STL算法sort()只接受RandomAccessIterator

    对deque进行的排序操作,为了最高效率,可将deque先完整复制到一个vector身上,将vector排序后(利用STL sort算法),再复制回deque

    面对关联式容器(set等),应该使用其所提供的find函数来搜寻元素,回比使用STL算法find()更有效率,因为STL算法find()只是循序搜寻
    企图通过迭代器来改变set元素时不被允许的(read-only)

    对于map,不能修改键值,会破坏map组织,但可以修改元素的实值
    map以RB-tree为底层机制,几乎所有的map操作行为,都只是转调用RB-tree的操作行为
    map会根据键值按某种顺序排序
    遍历:(自动按键值排序)
        map<string, int>::iterator simap_iter = simap.begin();

        for (; simap_iter != simap.end(); ++simap_iter)
            cout << simap_iter->first << " " << simap_iter->second << endl;

    multiset允许值重复,multimap允许键值重复

    int ia[] = {22, 30, 30, 17, 33, 40, 17, 23, 22, 12, 20};
    vector<int> iv(ia, ia + sizeof(ia) / sizeof(int));

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值