• 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所指定的元素

    当初的梦想实现了吗,事到如今只好放弃吗~
  • 相关阅读:
    【JAVASCRIPT】处理剪切板
    【数据库】常用系统存储过程
    【ASP.NET】存储过程分页实例
    图灵2010.11书讯
    计算机大师高德纳权威著作《计算机程序设计艺术》影印版精装版已经入库,即将上市!
    图灵2010.10书讯
    图灵2010.09书讯
    两个要素:人和思考——《软件人才管理的艺术》书评
    《我编程,我快乐》精彩片段——学习行业是如何运转的
    图灵5周年系列活动之科普大爆炸(免费!)
  • 原文地址:https://www.cnblogs.com/caijiaming/p/9723864.html
Copyright © 2020-2023  润新知