= mySet.end()为真,我们输出元素的值。 当查找元素6时,find()函数返回一个等于mySet.end()的迭代器,因此it2 != mySet.end()为假,我们输出“元素 6 不存在”。通过这种方式,我们可以使用set.find()函数来检查一个元素是否存在于set中,并根据返回值进行相应的处理。
find会挨个查找set,当到达set.end()时,也就是一个也没找到,返回end,即set.find(x) == set.end(),x为所查找的值 找到该数了,则返回该数的位置,所以可以用*(set.find(x))输出得到查找的该数。
find会挨个查找set,当到达set.end()时,也就是一个也没找到,返回end,即set.find(x) == set.end(),x为所查找的值 找到该数了,则返回该数的位置,所以可以用*(set.find(x))输出得到查找的该数。
std::set#find() 函数原型 如下 : iterator find(const key_type& k) const; 1. 参数解析 : 元素类型 : 参数类型 key_type 是 std::set 集合容器 元素类型 ; 引用类型 : 为了避免二次拷贝 , 使用该元素类型的 引用类型 key_type& 作为参数类型 ; 返回值解析 : 找到指定元素 : 该find 函数返回一个...
有了我们上面的set,还有一个multiset,它们的区别就是multiset可以存相同的值 我们这里的find就返回查找到的中序遍历的第一个值,还有一个count函数就返回相同值的个数 说完了set,我们说一下map,翻译过来是映射的意思,显而易见就是key和value之间的映射,同样用来比较的key不能修改,value是可以修改的。
返回值解析 : 找到指定元素 : 该find 函数返回一个迭代器 , 该 迭代器指向找到的元素 ; 没有找到元素 : 如果在 std::set 集合容器中 , 没有找到指定元素 , 则返回 指向集合末尾的迭代器 , 即 std::set::end() 迭代器 , 该迭代器不指向任何元素 , 指向最后一个元素的后一个位置 ; 2、代码示例 ...
find(),返回给定值值得定位器,如果没找到则返回end()。 示例代码: 代码语言:javascript 复制 #include<iostream>#include<set>using namespace std;intmain(){int a[]={1,2,3};set<int>s(a,a+3);set<int>::iterator iter;if((iter=s.find(2))!=s.end()){cout<<*iter<<endl;}return0;} ...
如果只想删除一个,可以用find找到迭代器,然后用迭代器删除(find返回第一个等于x的值 multiset<int>st={1,2,2,2,3,3};st.erase(st.find(2));cout<<st.size()<<endl;// 5 map map可以当作是一个特殊的set,里面保存的是个pair,并按照frist来排序。
findfind() ,返回给定值的定位器,如果没找到则返回end()。示例代码:#include <iostream> #include <set> using namespace std; int main() { int a[] = { 4, 6, 2 , 3}; set<int> s(a,a + 4); set<int>::iterator iter; for(iter = s.begin();iter != s.end();iter++) { cout ...