English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
C ++ set find()الوظيفة تستخدمالبحثلديهاالقيمة القيمة عناصرإذا تم العثور على العنصر، يتم إرجاع مكرر يشير إلى العنصر، وإلا يتم إرجاع مكرر يشير إلى نهاية المجموعة، وهو set :: end().
iterator find(const value_type& val) const; // قبل C++ 11 const_iterator find(const value_type& val) const; // بدءًا من C++ 11 iterator find(const value_type& val); // بدءًا من C++ 11
القيمة: القيمة المحددة التي يتم البحث عنها داخل حاوية المجموعة.
إذا تم العثور على العنصر، يتم إرجاع مكرر يشير إلى العنصر، وإلا يتم إرجاع مكرر يشير إلى نهاية المجموعة، وهو set :: end().
حجمه هو لجبري.
没有变化。
容器被访问(const版本和非const版本)都不能修改容器。
没有访问映射的值:同时访问和修改元素是安全的。
如果引发异常,则容器中没有任何更改。
让我们看一个简单的示例,查找具有给定键值的元素:
#include#include using namespace std; int main(void) { set m = {100,200,300,400}; auto it = m.find(300); cout << "迭代器指向 " << *it << endl; return 0; }
الخروج:
迭代器指向 300
让我们看一个简单的示例来查找元素:
#include#include using namespace std; int main(void) { set m = {'a', 'b', 'c', 'd'}; auto it = m.find('e'); if ( it == m.end() ) { // 未找到元素 cout<<"未找到元素"; } else { // 找到 cout << "迭代器指向 " << *it<< endl; } return 0; }
الخروج:
未找到元素
在上面的示例中,find()函数在集合m中查找键值e,如果在集合m中找不到键值e,则它将返回未找到消息,否则将显示集合。
让我们看一个简单的实例:
#include#include using namespace std; int main() { char n; set example = {'a','b','c','d','e'}; cout<<"输入要搜索的元素: "; cin>>n; auto search = example.find(n); if (search != example.end()) { cout << n<<" 找到并且值是 " << *search << '\n'; } else { cout << n<<" 未找到\n"; } }
الخروج:
输入要搜索的元素: b 找到并且值是 b
在上面的示例中,使用find()函数根据用户的给定值查找元素。
让我们看一个简单的实例:
#include#include int main () { std::set myset; std::set ::iterator it; for (int i = 1; i <= 10; i++) myset.insert(i*10); it = myset.find(40); myset.erase(it); myset.erase(myset.find(60)); std::cout << "myset يحتوي:"; for (it = myset.begin(); it != myset.end(); ++it) std::cout << ' ' << *it; std::cout << '\n'; return 0; }
الخروج:
يحتوي myset على: 10 20 30 50 70 80 90 100