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

دليل الأساسيات لـ C++

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

الوظائف الخاصة بـ C++

مجموعات C++ و 字رات

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

فئات C++ و أشياء

المؤشرات الخاصة بـ C++

الوراثة الخاصة بـ C++

دليل C++ STL

كتيب مرجع C++

C++ set clear() 使用方法及示例

Set (الجمع) الخاص بـ C++

C ++ set clear()函数用于删除set容器的所有元素。清除集合并将其大小转换为0。

语法

void clear(); //C++ 11 之前
void clear() noexcept; //C++ 11 之后

参数

没有

返回值

没有

复杂

大小线性。

迭代器有效性

与该容器相关的所有迭代器,引用和指针均无效。

数据争用

容器已修改。

所有包含的元素均已修改。

异常安全

此函数永远不会引发异常。

实例1

让我们看一个简单的示例,在清除操作之前和之后计算set的大小:

#include <iostream>
#include <set>
using namespace std;
int main() {
   set<int> myset = {10,20,30,40}; 
   cout << \
   myset.clear();
   cout << \
   return 0;
}

الناتج:

在清除操作前set集合初始大小 = 4
在清除操作后set集合大小 = 0

在上面的示例中,一个集合用4个元素初始化,因此大小为4,但是在清除操作后大小为0。

实例2

让我们看一个简单的示例,以清除集合中的元素:

#include <iostream>
#include <set>
using namespace std;
int main ()
{
  set<string> myset;
  myset = {"Nikita","Deep","Aman"};
  cout << \
  for (set<string>::iterator it=myset.begin(); it!=myset.end(); ++it)
    cout << *it << '\n';
  myset.clear();
  
  myset= {"Divya", \
  cout << \
  for (set<string>::iterator it=myset.begin(); it!=myset.end(); ++it)
    cout << *it << '\n';
  return 0;
}

الناتج:

myset 包含:
Aman
Deep
Nikita
myset 包含:
Divya
Raaz

在上面的示例中,清除设置后,我们可以添加新元素而无需初始化。

实例3

让我们看一个简单的示例,以清除集合中的元素:

#include <iostream>
#include <set>
using namespace std;
int main ()
{
  int n;
  set<string> m1,m2,m3;
  
  m1 = {"Hello", \
  m2 = {"Java", \
  m3 = {"C++", \
  cout << \
  for (set<string>::iterator it=m1.begin(); it!=m1.end(); ++it)
    cout << *it << ' ';
  
  cout << "\n\nm2 تحتوي على الأعضاء التالية:\n";
  for (set<string>::iterator it=m2.begin(); it!=m2.end(); ++it)
    cout << *it << ' ';
  cout << "\n\nm3 تحتوي على الأعضاء التالية:\n";
  for (set<string>::iterator it=m3.begin(); it!=m3.end(); ++it)
    cout << *it << ' ';
  
  cout<<"\n\nأي مجموعة تريد حذفها?\n1.m1\n2.m2\n3.m3\nأدخل اختيارك:  ";
  cin>>n;
  
  if(n==1){
  m1.clear();
  cout<<"\nm1 قد تم حذفها.\n";
  }
  else if(n==2){
  m2.clear();
  cout<<"\nm2 قد تم حذفها.\n";
  }
  else if(n==3){
  m3.clear();
  cout<<"\nm3 قد تم حذفها.\n";
  }
  else
  cout<<"اختيار غير صحيح!";
  
  return 0;
}

الناتج:

مجموعة m1 تحتوي على الأعضاء التالية:
مرحبًا بالعالم 
مجموعة m2 تحتوي على الأعضاء التالية:
برنامج Java 
مجموعة m3 تحتوي على الأعضاء التالية:
كود C++ 
أي مجموعة تريد حذفها?
 1.m1
 2.m2
 3.m3
أدخل اختيارك: 2
مجموعة m2 قد تم حذفها.

في المثال السابق، تم تعيين ثلاث مجموعات، وحذفت مجموعة بناءً على اختيار المستخدم.

مثال 4

دعنا نرى مثالاً بسيطاً:

#include <iostream>
#include <set>
#include <string> 
using namespace std;
int main() {
    
   int n;
   
   set<string> fruit = {"Banana","Apple","Orange"};
   cout << "فواكه الخزان التالية = \n";
   for (set<string>::iterator it=fruit.begin(); it!=fruit.end(); ++it)
    cout << *it << '\n';
   cout<<"\nهل تريد إزالة سلة الفواكه؟\nأضغط 1 إذا كنت تستخدم، وأضغط 0 إذا كنت لا تستخدم.:  ";
   cin>>n;
   
   if( n==1){
   fruit.clear();
   cout << fruit.size() << " فواكه في البرطمان " << endl;  
   }
   else if(n==0)
   cout << fruit.size() << " فواكه في البرطمان " << endl;
    
   
   return 0;
}

الناتج:

يوجد في البرطمان الفواكه التالية =
الأناناس
التفاح
المانجو
هل تريد تنظيف سلة الفواكه؟
الضغط على 1 للاجابة بنعم، والضغط على 0 للاجابة بنعم.: 1
0 جميع الفواكه في البرطمان قد تم أخذها

في الأمثلة أعلاه، تم تحديد مجموعة الفواكه باستخدام ثلاثة فواكه. يتم تنظيف المجموعة، إذا تم إدخال 0، يحتوي البرطمان على 3 عناصر؛ إذا تم إدخال 1، يتم تنظيف مجموعة الفواكه، ويصبح حجمها 0.

Set (الجمع) الخاص بـ C++