zoukankan      html  css  js  c++  java
  • map系统学习

    映射map又称字典,表,或者查找表,其元素是由key和value两个分量组成的对偶(key,value)。

    key是键,value是与键key相关联的映射值,这样的元素又称“关联”。key和value可以有不同的类型。多重映射muitimap和map的区别是:multimap允许元素有相同的键key。

    在建立map对象和multimap对象的程序中需要使用预处理指令:

    #include<map>

    设分量key的类型是key,分量value的类型是T,下列两个语句分别声明一个映射对象m,和一个多重映射mm:

    map<key,T> m;

    multimap<key,T> mm;

    为了对关联容器进行高效快速的搜索,容器中的元素按键key的大小组成红黑树结构,从而使操作的效率达到O(logn)。为了进行比较,类型key提供比较操作,默认的是在标准模板库<function>中定义的函数

    类less。

    关联容器的迭代器指定容器中某个元素的存储位置,通过迭代器可以按键的大小顺序遍历容器,所以它们又称为有序关联容器。  begin()指向具有最小键的元素,end()指向具有最大键的元素之后

    有以下操作:

    构造函数                   构造容器c

    c()                             构造一个空的容器

    c(comp)                    构造一个空的容器,使用comp函数进行键值比较

    c(first,last)                用范围[first,last)中的元素初始化

    c(first,last,comp)      用范围[first,last)中的元素初始化,使用comp函数进行键比较

    c.empty()                 当且仅当容器c中没有元素时返回true

    c.size()                    返回容器c中当前存储的元素个数

    c.count(k)                返回c中键值与k相同的元素的个数

    c.find(k)                  返 回c中键值等于k元素的迭代器,若不存在这样的元素,则返回end()。  对multimap和multiset,结果迭代器将指向键值等于k的第一个元素

    c.begin()                 返回c中第一个元素的迭代器

    c.end()                    返回c中最后一个元素之后位置的迭代器

    c.erase(it)               删除c中迭代器it所指定的元素

    当初的梦想实现了吗,事到如今只好放弃吗~
  • 相关阅读:
    转载:quartz详解:quartz由浅入深
    git提交忽略文件或文件夹
    Spring学习笔记(一)
    转载:RabbitMQ常用命令
    linux安装rabbitMQ
    linux安装redis
    springMVC+spring+mybatis多数据源配置
    (二)RabbitMQ使用笔记
    ASP.NET Core 异常处理与日志记录
    ASP.NET Core中间件实现分布式 Session
  • 原文地址:https://www.cnblogs.com/caijiaming/p/9723864.html
Copyright © 2011-2022 走看看