C++ 关联容器

1.关联容器

1前面我们学习了顺序容器,顺序容器是通过位置(索引)来访问的。

2.而关联容器是通过键(key)来访问的,每个值都关联一个key,通过key来访问。

3.关联容器包括map,multimap和multilist。

4.map是(key,value)的键值对,通过key获得value,并且是唯一的。

5.如果key需要重复可以使用multimap和multilist。

6.pair类型

pair类型包含两个数据值,包含在utility头文件中,常用的操作有:

pair<T1, T2> pi;

pair<T1, T2> p1(v1,v2);

make_pair(v1,v2);

p1.first;

p2.second;

实例:pair的创建和初始化

pair<string, string> p;
p = make_pair("1", "one");

cout << p.first << "," << p.second << endl;//first是key second是value

2.map

1.map是一个key-value的键值对的集合,可以把它理解为关联数组,把key值理解为数组下标,通过key获得值。

2.map的定义

例如

void test()
{    
    map<srtring,string> m;//定义一个空map
    map<string,string> m2(m);//定义一个m的副本
    map<string,string> m3(m.begin(),m.end());//通过迭代器定义
}

3.操作map

	map<string, string> m1;
	m1["1"] = "one";
	m1["2"] = "two";
	m1["3"] = "three";
	cout << m1.begin()->first << ";" << m1.begin()->second << endl;	
   //插入
     pair<string, string> p = make_pair("4", "four");
     m1.insert(p);
     cout << m1["4"] << endl;
//查找
    map<string,string>::const_iterator it = m1.fine("3");
    cout<<it->second<<endl;
//删除
    m1.erase("1");

//遍历
    it = m1.begin();
    while(it!=m1.end()) 
    {
        cout<<it->first<<";"<<it->second<<endl;
        ++it;
     }



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值