zoukankan      html  css  js  c++  java
  • C++ STL 简单记录

    1,STL提供三种类型的组件:容器、迭代器、算法。

    容器:

    顺序容器(vector、list、deque、string等)是一系列元素的有序集合;

    关联容器(set、multiset、map、multimap)包含查找元素的键值。

    迭代器:作用是遍历容器。

        for (vector<int>::iterator it = v.begin(); it != v.end(); it++)
        {
            cout << *it << " ";
        }
        //迭代器是依附于容器的

    算法:排序算法、不可变序算法、变序算法、数值算法。

        #include <numeric>
        #include <algorithm>
        vector<int> v;
    
        sort(v.begin(), v.end());        //排序算法
        reverse(v.begin(), v.end());        //变序算法,反转
        accumulate(v.begin(), v.end());        //数值算法,计算和
        //可以看到算法不是容器的方法,而是独立于容器的

    2,set集合红黑树的平衡二叉检索树,但是元素没有重复,插入重复的插不成功;

    multiset允许插入重复的数字。

    3,map映照容器,键值与数据构成,红黑树实现的,插入元素的键值不允许重复,比较函数只对元素的键值比较;

    multimap允许插入重复键值的元素。

    4,deque双端队列容器,与vector类似采用线性表顺序存储结构,当考虑到容器元素的内存分配策略和操作性能是,deque相对于vector更有优势。从头部和中间插入元素只将原来的元素覆盖,不会增加新元素。

    5,list结构实现了双向链表的数据结构。对迭代器只能++、--,不能+n、-n。

    6,queue队列是先进先出的线性存储表,插入只能在队尾,删除只能在队首。

    7,priority_queue优先队列,只能在队首删除、队尾插入。

  • 相关阅读:
    segmentedControl设置字体和字体颜色问题
    iOS 8 自适应 Cell
    视频聊天 Demo
    tensorflow生成随机数的操作 tf.random_normal & tf.random_uniform & tf.truncated_normal & tf.random_shuffle
    python selenium点滴
    cmd 字符串截取
    cmd 获取 拖拽文件名
    cmd for 用法
    cmd dos bat 深度变量文件夹指定文件
    bat cmd dos 通过拖拽参数 上传 截取拖拽上传文件名
  • 原文地址:https://www.cnblogs.com/jiayith/p/4338819.html
Copyright © 2011-2022 走看看