STL的函数:
binary_search返回的是bool值,而不是位置或者下标(普通数组还是自己手撸吧
STL的容器:
如果要对set进行二分查找的话,直接用set带的lower_bound/upper_bound/find函数会比使用STL的这三个函数快很多(沈阳区域赛惨痛的教训
multiset的find函数,返回的是你第一个插入的查询数值的位置。
比如:
multiset<int> ms;
ms.insert(1001);
ms.insert(1001);
返回的是第一个插入1001的位置,即iterator
multiset<int>默认的是升序,即multiset<int, less<int> >
multiset<int, greator<int> >才是降序
如果要自定义类型排序的话,就直接在自定义类型里重载<运算符就好了(基本操作
multiset的erase函数,如果erase里面是数值的话,那么他会将multiset中此数值全部删除。
如果只想删掉一个的话,正确的做法是先调用multiset的find函数找到数值的pos(iterator)
之后erase(pos)即可
原文:https://www.cnblogs.com/Vikyanite/p/12885283.html