C++ map学习笔记

 

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;
}


 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值