C++ map学习笔记

来源:互联网 发布:淘宝买玩具枪犯法吗 编辑:程序博客网 时间:2024/05/17 09:09

 

Map是c++的一个标准容器,她提供了很好一对一的关系,在一些程序中建立一个map可以起到事半功倍的效果,总结了一些map基本简单实用的操作

 

// maptest.cpp : Defines the entry point for the console application.//#include "stdafx.h"#include <map>   //包含头文件#include <string>#include <iostream>using namespace std;int main(int argc, char* argv[]){map<string, int> mapWordRecPrep;            /* 定义map类型的变量 *//*  1 . 用数组方式插入数据  下面举例说明    mapWordRecPrep["the"]  = 100;     mapWordRecPrep["so"]   = 50;mapWordRecPrep["so"]   = 60;//数组方式出现覆盖现象 map<string, int>::iterator iter;for(iter = mapWordRecPrep.begin();iter!=mapWordRecPrep.end(); iter++){cout << iter->first << "   " << iter->second << endl;}*//*  2. 用insert函数插入value_type数据,下面举例说明mapWordRecPrep.insert(map<string, int>::value_type ("one", 1));mapWordRecPrep.insert(map<string, int>::value_type ("two", 2));mapWordRecPrep.insert(map<string, int>::value_type ("three", 3));mapWordRecPrep.insert(map<string, int>::value_type ("three", 30));  //value_type方式不出现覆盖现象map<string, int>::iterator iter;for(iter = mapWordRecPrep.begin();iter!=mapWordRecPrep.end(); iter++){cout << iter->first << "   " << iter->second << endl;}*//*  3. 用pair函数插入数据,下面举例说明mapWordRecPrep.insert(pair<string, int>("one", 1));mapWordRecPrep.insert(pair<string, int>("two", 2));mapWordRecPrep.insert(pair<string, int>("three", 3));mapWordRecPrep.insert(pair<string, int>("three", 30));//pair方式不出现覆盖现象map<string, int>::iterator iter;for(iter = mapWordRecPrep.begin();iter!=mapWordRecPrep.end(); iter++){cout << iter->first << "   " << iter->second << endl;} *//* 4. 查找记录 mapWordRecPrep.insert(pair<string, int>("one", 1));mapWordRecPrep.insert(pair<string, int>("two", 2));mapWordRecPrep.insert(pair<string, int>("three", 3));mapWordRecPrep.insert(pair<string, int>("three", 30));//pair方式不出现覆盖现象    map<string, int>::iterator iter = mapWordRecPrep.find("one");if (iter != mapWordRecPrep.end()){cout << iter->first << "   " << iter->second << endl;}else{cout << " Not Find " << endl;}*//* 5. 删除记录 mapWordRecPrep.insert(pair<string, int>("one", 1));mapWordRecPrep.insert(pair<string, int>("two", 2));mapWordRecPrep.insert(pair<string, int>("three", 3));map<string, int>::iterator iterV = mapWordRecPrep.find("one");    if (iterV != mapWordRecPrep.end())    {        //mapWordRecPrep.erase(iterV);              //迭代器方式删除     }//int n = mapWordRecPrep.erase("three");         // 关键字方式删除     mapWordRecPrep.clear();                          //清空map map<string, int>::iterator iter;for(iter = mapWordRecPrep.begin();iter!=mapWordRecPrep.end(); iter++){cout << iter->first << "   " << iter->second << endl;}*//* 判断map是否为空 */mapWordRecPrep.insert(pair<string, int>("three", 3));    if (mapWordRecPrep.empty() && 0 == mapWordRecPrep.size())       {        printf("mapWordRecPrep is empty!\n\n");    }else{printf("mapWordRecPrep is not empty!\n\n");}return 0;}


 

原创粉丝点击