C++ Vector STL find 查找

LeetCode 349. Intersection of Two Arrays
之前刷了这些题,难度不高,但是语法上总有一些问题,故此记录方便后查:
1:用vec初始化set set<int> set1(vec.begin(),vec.end());

2:set的查找 set1.find(a) 返回值是iterator 没查找到时 返回的是set1.end();

3:set的删除元素的操作,set1.erase(a) 就是删除元素值为a的元素。

4:vector的查找 vector<int>::iterator iter = find(vec.begin(),vec.end(),a) //查找a 返回iterator

5:vector的删除操作 
for(auto iter = vec.begin();iter!=vec.end();iter++){
if(*iter==a){
vec.erase(iter);
}
}
上面程序是错的
应该是
for(auto iter = vec.begin();iter!=vec.end();){
if(*iter==a){
iter=vec.erase(iter);
}else{
iter++;
}
}

6:map的使用 map是键值对 可以使用map[]方式使用 但是[]中的值必须是键值 比如map[1] ,map['a']
map的查找 
通过键值查找 map1.find(key)!=map1.end() 表示查找到了;其他具体的去查资料

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值