栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

map容器和multimap容器

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

map容器和multimap容器

map相对于set的区别,map具有键值和实值,所有元素根据键值自动排序。pair的第一元素也被称为键值,第二元素被称为实值。map的底层机制为红黑树。
map的key不能重复,multimap可以。,不能任意该键值,可改实值。

生成随机数:
#include
#include
srand(time(NULL));放置种子
int n=rand() % 3+1;随机1~3的数

#include
#include  
using namespace std;

//map初始化 
void text01()
{
    //map容器模板参数,第一个key类型,第二个value类型 
    map mymap;
    ///插入数据 ,map有自动排序功能,用insert加数据 
    //pair.first() key值,pair.second value值 
    
    //第一种 
    //mymap.insert(pair(10,10));
    pair::iterator,bool> ret=mymap.insert(pair(10,10));
    if(ret.second)
    {
        cout<<"插入成功"<     }
    else
    {
        cout<<"插入失败"<     }
    ret=mymap.insert(pair(10,10));
    if(ret.second)
    {
        cout<<"插入成功"<     }
    else
    {
        cout<<"插入失败"<     }
    //第二种
    mymap.insert(make_pair(20,20));

    
    //第三种
    mymap.insert(map::value_type(30,30));
    //第四种
    mymap[40]=40;
    mymap[10]=20;//如果发现key不存在,创建pair插入到map容器中,存在则修改key对应的value值
    cout<     //打印
    for(map::iterator it=mymap.begin();it!=mymap.end();it++)
    {
        //*it取出来的是一个pair
         cout<<(*it).second<      } 
}

void text02()
{
    map m1;
    m1.insert(pair(10,15));
    map m2(m1);
    m1.swap(m2);
    cout<     cout<  } 
 //查找操作 
 void text03()
 {
     map m;
     m[10]=20;
     m[20]=30;
     m[30]=40;
     //cout<     cout<     //cout<      //cout<      //cout<  
}

class mykey
{
    public:
        mykey(int midex,int mid):midex(midex),mid(mid)
        {
        }
    public:
        int midex;
        int mid;
};

class compare
{
    public:
        bool operator() (mykey m1,mykey m2) const
        {
            if(m1.midex!=m2.midex)
            return m1.midex             
                else
                {
                    return m1.mid                 }
            
        }
};
void text04()
{
    multimap mymap;
    mymap.insert(make_pair(mykey(1,2),10));
    mymap.insert(make_pair(mykey(3,3),15));
    mymap.insert(make_pair(mykey(1,1),13));
    mymap.insert(make_pair(mykey(3,4),20));
    for(map::iterator it=mymap.begin();it!=mymap.end();it++)
    {
        cout<<((*it).first).midex<<":"<<((*it).first).mid<<"-"<<(*it).second<     }
}
int main()
{
    //text01();
    //text02();
    //text03();
    text04();
    
    return 0;
}


#include 
#include  
using namespace std;

//map初始化 
void text01()
{
	//map容器模板参数,第一个key类型,第二个value类型 
	map mymap;
	///插入数据 ,map有自动排序功能,用insert加数据 
	//pair.first() key值,pair.second value值 
	
	//第一种 
	//mymap.insert(pair(10,10));
	pair::iterator,bool> ret=mymap.insert(pair(10,10));
	if(ret.second)
	{
		cout<<"插入成功"<(10,10));
	if(ret.second)
	{
		cout<<"插入成功"<::value_type(30,30));
	//第四种
	mymap[40]=40;
	mymap[10]=20;//如果发现key不存在,创建pair插入到map容器中,存在则修改key对应的value值
	cout<::iterator it=mymap.begin();it!=mymap.end();it++)
	{
		//*it取出来的是一个pair
		 cout<<(*it).second< m1;
	m1.insert(pair(10,15));
	map m2(m1);
	m1.swap(m2);
	cout< m;
 	m[10]=20;
 	m[20]=30;
 	m[30]=40;
 	//cout< mymap;
	mymap.insert(make_pair(mykey(1,2),10));
	mymap.insert(make_pair(mykey(3,3),15));
	mymap.insert(make_pair(mykey(1,1),13));
	mymap.insert(make_pair(mykey(3,4),20));
	for(map::iterator it=mymap.begin();it!=mymap.end();it++)
	{
		cout<<((*it).first).midex<<":"<<((*it).first).mid<<"-"<<(*it).second< 

暑期编程PK赛 得CSDN机械键盘等精美礼品!
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1016201.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号