php使用map简单实例,map(示例代码)

本文介绍了PHP中的map(哈希映射)概念,包括如何通过key找到value,强调了map的有序特性以及与unordered_map的区别。文中详细展示了如何插入、查找和删除元素,并提供了使用示例代码,如insert()、find()和erase()等方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

map:hash映射,提供key和value,实现一对一的映射

①头文件:#include

②使用方法:map Map;

③实现方法:map用红黑树实现,map先按照type1升序排序,再按type2升序排序。因此map是有序的,无须对map进行排序

④通过key找到value,key唯一,value不唯一

⑤unordered_map  无序map

无序map 插入和删除的时间复杂度为O(1),比普通map快

如果用map超时且不需要有序可以考虑无序map

unordered_map 在C++ 11 才可以用,否则会编译出错

⑥map的常用方法:

begin()         返回指向map头部的迭代器

end()           返回指向map末尾的迭代器

find()          查找一个元素

erase()         删除一个元素

insert()        插入元素

clear()        删除所有元素

empty()         如果map为空则返回true

size()          返回map中元素的个数

swap()           交换两个map

count()         返回指定元素出现的次数

例:

map mapStudent ;

①插入数据:insert()

//用pair向map插入数据//可typedef pair P; 简化操作

mapmapStudent;

mapStudent.insert(pair(1,"student_one"));

mapStudent.insert(pair(2,"student_two"));

mapStudent.insert(pair(3,"student_three"));

②查找数据:find()返回key所在的位置,返回的是迭代器;若key不存在返回最后一个元素的位置

map::iterator iter ; //定义迭代器

iter = mapStudent.find(1); //返回key=1的元素所在的位置给iter

if(iter !=mapStudent.end())

cout<second<

③删除数据:erase()提供用key删除元素或用迭代器删除,也可用迭代器范围删除区间元素

//erase()提供三种方法//用迭代器刪除元素

iter = mapStudent.find("1");

mapStudent.erase(iter);//用关键字刪除,删除成功返回1,否则返回0

int n = mapStudent.erase("1");//用迭代器范围刪除 : 把整个map清空

mapStudent.erase(mapStudent.begin(), mapStudent.end());

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值