zoukankan      html  css  js  c++  java
  • 高放的c++学习笔记之关联容器

    标准库提供8个关联容器

    按关键字有序保存有(红黑树实现)

    set

    map

    multset            关键字可重复出现的set

    multimap            关键字可重复出现的map

    无序保存           哈希实现

    unorderred_map

    unorderred_set

    unorderred_multimap

    unorderred_multiset

    map是一个个pair类型组成

      map<int, int>mp;
      for(auto i : mp){

        printf("%d %d ", i.first, i.second);
      }

    向map中添加元素的方法除了常用的类似与数组的方式(mp[i] = x)还有如下方式

    mp.insert(pair)

    set能直接insert(区间),例如

    multiset<int> s;
    for(int i = 10; i >= 0; i--){
      s.insert(i);
      s.insert(i);
    }
    set<int> ss(s.cbegin(), s.cend());

    插入元素

    map具有insert功能,插入的要是一个和关键字与值相对应类型的pair;

    例如map<T1, T2>那么插入的pair类型也应该是<T1, T2>类型;

    map的insert返回一个pair类型,first是一个指向插入节点的迭代器,second是一个bool类型,代表是否插入成功,如果本来在map里面有key的话就插入不成功。

    set与map相类似,只不过插入的不是pair而只是一个符合set容器的值;

    以上只符合插入的是单点的情况,即set插入一个变量,map插入pair,对其他情况并不适用。

  • 相关阅读:
    ZOJ 4097 Rescue the Princess
    最大值最小化 最小值最大化
    SD第九届省赛B题 Bullet
    Euler Circuit UVA
    bzoj 1878
    随笔
    BZOJ
    主席树模板
    AC自动机模板
    BZOJ
  • 原文地址:https://www.cnblogs.com/icodefive/p/4919001.html
Copyright © 2011-2022 走看看