map简单用法

来源:互联网 发布:众意好医师软件 编辑:程序博客网 时间:2024/06/06 19:26

1。目录

  1. map简介
  2. map的功能
  3. 使用map
  4. 在map中插入元素
  5. 查找并获取map中的元素
  6. 从map中删除元素

2。map简介

map是一类关联式容器。它的特点是增加和删除节点对迭代器的影响很小,除了那个操作节点,对其他的节点都没有什么影响。对于迭代器来说,可以修改实值,而不能修改key。

3。map的功能

  1. 自动建立Key - value的对应。key 和 value可以是任意你需要的类型。
  2. 根据key值快速查找记录,查找的复杂度基本是Log(N),如果有1000个记录,最多查找10次,1,000,000个记录,最多查找20次。
  3. 快速插入Key - Value 记录。
  4. 快速删除记录
  5. 根据Key 修改value记录。
  6. 遍历所有记录。

上面这是转别人写的

下面是使用代码

#include "stdafx.h"#include <map>#include <iostream>#include <string>using namespace std;void map_test1(){//map 关联两个对象//第一个是索引类型 key//第二个是值的类型 valuemap<string,int> mk;mk["ASM"]= 1;mk["BC++"] = 2;mk["C"]    = 3;mk["delphi"]  = 4;cout<< "The index of C is "<< mk["C"] <<endl;}//////////////////////////////////////////////////////////////////////////class CMyClass{public:CMyClass(){}  //默认空的构造函数int m_id;int m_age;CMyClass(int id, int age){m_id = id;m_age = age;}//重载 = 号operator = ( CMyClass mc){m_id = mc.m_id;m_age = mc.m_age;}};void map_test2(){map <string, CMyClass> mlist;mlist["Safe"] = CMyClass(1,3);mlist["debug"]= CMyClass(4,6);cout<<"the Safe id is "<< mlist["Safe"].m_id <<" the age is "<<mlist["Safe"].m_age <<endl;}int main(int argc, char* argv[]){map_test2();return 0;}


0 0
原创粉丝点击