C++课堂笔记整理(STL) map2

#include <iostream>
using namespace std;
#include "map"
#include "string"



void main1101()
{
	map<int, string> map1;

	//方法1
	map1.insert(pair<int,string>(1,"teacher01"));
	map1.insert(pair<int,string>(2,"teacher02"));

	//方法2
	map1.insert(make_pair(3,"teacher04"));
	map1.insert(make_pair(4,"teacher05"));

	//方法3
	map1.insert(map<int,string>::value_type(5,"teacher05"));
	map1.insert(map<int, string>::value_type(6, "teacher06"));

	//方法4
	map1[7] = "teacher07";
	map1[8] = "teacher08";


	//容器的遍历
	for (map<int, string>::iterator it = map1.begin(); it != map1.end(); it++)
	{
		cout << it->first << "\t" << it->second << endl;
	}
	cout << "遍历结束" << endl;

	while (!map1.empty())
	{
		map<int, string>::iterator it = map1.begin();
		cout << it->first << "\t" << it->second << endl;
		map1.erase(it);
	}

}

 void main1103()
{
	map<int, string> map1;

	//方法1
	map1.insert(pair<int, string>(1, "teacher01"));
	map1.insert(pair<int, string>(2, "teacher02"));

	//方法2
	map1.insert(make_pair(3, "teacher04"));
	map1.insert(make_pair(4, "teacher05"));

	//方法3
	map1.insert(map<int, string>::value_type(5, "teacher05"));
	map1.insert(map<int, string>::value_type(6, "teacher06"));

	//方法4
	map1[7] = "teacher07";
	map1[8] = "teacher08";


	//容器的遍历
	for (map<int, string>::iterator it = map1.begin(); it != map1.end(); it++)
	{
		cout << it->first << "\t" << it->second << endl;
	}
	cout << "遍历结束" << endl;

	//map的查找 
	map<int, string>::iterator it2 = map1.find(100);
	if (it2 == map1.end())
	{
		cout << "key 100 的值 不存在:" << endl;
	}
	else
	{
		cout << it2->first << "\t" << it2->second << endl;
	}

	pair<map<int, string>::iterator, map<int, string>::iterator> mypair = map1.equal_range(5); //返回两个迭代器,形成一个 pair

	//第一个迭代器 >=5 的 位置
	//第一个迭代器 =5 的  位置

	if (mypair.first == map1.end())
	{
		cout << "第一个迭代器 >=5的 位置  不存在"<<endl;

	}
	else
	{
		cout << mypair.first->first << "\t" << mypair.first->second << endl;
	}


	//使用第二个迭代器

	if (mypair.second == map1.end())
	{
		cout << "第二个迭代器 >=5的 位置  不存在" << endl;

	}
	else
	{
		cout << mypair.second->first << "\t" << mypair.second->second << endl;
	}


}



void main()
{
	
	main1103();
	
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值