zoukankan      html  css  js  c++  java
  • map[C++]

    //map是一个存储键值对的容器,也是一个双向链表

    #include <iostream>

    using namespace std;

    #include <map>

    int main(int argc, const char * argv[])

    {

        map<int, string> maplive;

        maplive.insert(pair<int,string>(110,"April1"));

        maplive.insert(map<int,string>::value_type(111,"April2"));

        maplive[112] = "April3";

        map<int,string>::iterator l_it,l_it2;

        int i = maplive.size();

        for (l_it = maplive.begin(); l_it != maplive.end(); ) {

            if (l_it->first == 110) {

                l_it2 = l_it;

                l_it2++;

                maplive.erase(l_it);

                l_it = l_it2;

            }

            else

                l_it++;

        }

        

        //打印

        for (l_it = maplive.begin(); l_it != maplive.end();l_it++) {

            cout << l_it -> second << endl;     //取值是second,取key是first

        }

        return 0;

    }

    C++ Maps是一种关联式容器,包含“关键字/值”对。
    C++ Multimapsmaps很相似,但是MultiMaps允许重复的元素。 1.begin() 返回指向map头部的迭代器
    2.clear() 删除所有元素
    3.count() 返回指定元素出现的次数

    语法:
    size_type count( const KEY_TYPE &key ); //
    返回map中键值等于key的元素的个数

    4.empty() 如果map为空则返回true 5.end() 返回指向map末尾的迭代器 6.equal_range() 返回特殊条目的迭代器对

    语法:
    pair equal_range( const KEY_TYPE &key ); 
    返回两个迭代器,指向第一个键值为key的元素和指向最后一个键值为key的元素

    7.erase() 删除一个元素 语法:

    void erase( iterator i ); //删除i元素
    void erase( iterator start, iterator end ); //删除从start开始到end(不包括end)结束的元素 size_type erase( const key_type &key ); //删除等于key值的所有元素(返回被删除的元素的个数)

    8.find() 查找一个元素 语法:

    iterator find( const key_type &key );

    11

    //查找等于key值的元素,并返回指向该元素的迭代器;

    //如果没有找到,返回指向集合最后一个元素的迭代器9.get_allocator() 返回map的配置器
    10.insert() 插入元素

    语法:
    iterator insert( iterator pos, const pair<KEY_TYPE,VALUE_TYPE> &val ); //
    插入valpos的后面,然后返回一个指向这个元素的迭代器
    void insert( input_iterator start, input_iterator end );
    //
    插入startend的元素到map
    pair<iterator, bool> insert( const pair<KEY_TYPE,VALUE_TYPE> &val ); //只有在val不存在时插入val。返回指向被插入元素的迭代器和描述是否插入的bool

    11.key_comp() 返回比较元素key的函数 语法:

    key_compare key_comp();

    //返回一个用于元素间值比较的函数对象 12.lower_bound() 返回键值>=给定元素的第一个位置

    语法:
    iterator lower_bound( const key_type &key ); //
    返回一个指向大于或者等于key值的第一个元素的迭代器

    13.max_size() 返回可以容纳的最大元素个数 14.rbegin() 返回一个指向map尾部的逆向迭代器 15.rend()返回一个指向map头部的逆向迭代器 16.size() 返回map中元素的个数

    17.swap() 交换两个map 语法:

    void swap( map &obj );

    //swap()交换obj和现map中的元素
    18.upper_bound() 返回键值>给定元素的第一个位置

    语法:
    iterator upwer_bound( const key_type &key ); //
    返回一个指向大于key值的第一个元素的迭代器

    19.value_comp() 返回比较元素value的函数 语法:

    value_compare value_comp(); //返回一个用于比较元素value的函数 

    感谢来访,共同学习!
  • 相关阅读:
    top 命令
    通过公网访问内网的几种方式总结
    借助IDE到处Runnable JAR 的步骤
    Java SE 基础知识(String,Array)
    Java SE 基础知识(二)
    周记 2014.12.13
    nginx 总结
    在VPS上配置SS
    Markdown 语法手册
    ASCII码表
  • 原文地址:https://www.cnblogs.com/dingxiaowei/p/3200816.html
Copyright © 2011-2022 走看看