English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

تعليمية C++ الأساسية

تحكم في العملية C++

الوظائف في C++

مجموعات C++ & سلاسل

هياكل بيانات C++

كلاس C++ & عناصر

المراجع في C++

الوراثة في C++

تعليمية STL C++

دليل C++

استخدام C++ set find() وأمثلة

STL Set (الجمع) في C++

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版本)都不能修改容器。

没有访问映射的值:同时访问和修改元素是安全的。

异常安全

如果引发异常,则容器中没有任何更改。

实例1

让我们看一个简单的示例,查找具有给定键值的元素:

#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

实例2

让我们看一个简单的示例来查找元素:

#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,则它将返回未找到消息,否则将显示集合。

实例3

让我们看一个简单的实例:

#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()函数根据用户的给定值查找元素。

实例4

让我们看一个简单的实例:

#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

STL Set (الجمع) في C++