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

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

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

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

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

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

مفاهيم C++ و كائنات

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

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

تعليميات STL الخاصة بـ C++

دليل C++

استخدام C++ set insert() و مثال

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

C ++ set insert()استخداملإدراج العنصر في المجموعةإدراج عنصر جديد

.بسبب أن مفتاح العنصر في المجموعة هومحددة

لذا، يتم التحقق أولاً من وجود المفتاح المقدم في المجموعة، إذا كان المفتاح موجودًا في المجموعة، فإنه لن يتم إدراجه في المجموعة وسيتم انتقاله إلى المروحة الحالية وسيتم العودة إلى المفتاح، وإلا سيتم إدراج العنصر الجديد في المجموعة.

النحو
//تقديم val قيمة كمرجع عادي
pair<iterator,bool> insert (const value_type& val);
//تقديم val قيمة كمرجع يمين
pair<iterator,bool> insert (value_type&& val);
//تقديم val قيمة كمرجع عادي
iterator insert (const_iterator position, const value_type& val);
//تقديم val قيمة كمرجع يمين
iterator insert (const_iterator position, value_type&& val);
  template <class InputIterator>
  void insert (InputIterator first, InputIterator last);

void insert (initializer_list<value_type> il);              //بدءًا من C++ 11

الم 参数val

:القيمة التي سيتم إدراجها في المجموعة.position

:الإشارة إلى الموقع الذي سيتم فيه إدراج العنصر في العنصر.first

:بداية النطاق الذي سيتم إدراجه.last

:نهاية النطاق الذي سيتم إدراجه.il

:تهيئة القائمة.

القيمة

عادت ببوليادولية لتمثيل ما إذا تم إدراج العنصر، وتبعها مروحة إلى العنصر المدرج الجديد.

  • معقدة

  • إذا تم تقديم الإشارة، فإن معقدة ستكون ثابتة.

فعالية الم迭代ر

لم يطرأ أي تغيير.

تضارب البيانات

المروحة قد تم تعديلها.

أمان استثناء

هذه الدالة لن تسبب استثناءً.

مثال 1

لنلقي نظرة بسيطة على مثال على إدراج العنصر في المجموعة:

#include 	<iostream>
#include 	<set>
using 	namespace 	std;
int 	main()
{
    set<int> 	s;
 
    // دالة إدراج العنصر
    // في مروحة set
    s.insert(1);
    s.insert(4);
    s.insert(2);
    s.insert(5);
    s.insert(3);
 
    cout 	<< 	"集合中的元素是: 	";
    for 	(auto 	it 	= 	s.begin(); 	it 	!= 	s.end(); 	it++)
        cout 	<< 	*it 	<< 	" 	";
 
    return 0;
}

الإخراج:

العناصر في المجموعة هي: 1 2 3 4 5

در مثال بالا، عناصر با استفاده از کلید داده شده اضافه شدند.

مثال 2

دعونا مثال ساده‌ای را ببینیم، که عناصر را در موقعیت مشخصی اضافه می‌کند:

#include 	<iostream>
#include 	<set>
using 	namespace 	std;
int 	main()
{ 
    set<int> 	s;
 
     //وظيفة إدراج العناصر
     //في حاوية set
    auto 	itr 	= 	s.insert(s.begin(), 	1);
 
    itr 	= 	s.insert(itr, 	4);
    itr 	= 	s.insert(itr, 	2);
    itr 	= 	s.insert(itr, 	5);
    itr 	= 	s.insert(itr, 	3);
 
    cout 	<< 	"集合中的元素是: 	";
    for 	(auto 	it 	= 	s.begin(); 	it 	!= 	s.end(); 	it++)
        cout 	<< 	*it 	<< 	" 	";
 
    return 0;
}

الإخراج:

العناصر في المجموعة هي: 1 2 3 4 5

در مثال بالا، عناصر به موقعیت تعریف شده اضافه شدند.

مثال 3

دعونا مثال ساده‌ای را ببینیم، که یک گروه از عناصر در محدوده داده شده را به گروه دیگری اضافه می‌کند:

#include 	<iostream>
#	include<iostream>
#	include<set>
using 	namespace 	std;
int 	main()
{ 
    set<int> 	s1;
 
    //وظيفة إدراج العناصر
     //في حاوية set
    s1.insert(1);
    s1.insert(4);
    s1.insert(2);
    s1.insert(5);
    s1.insert(3);
 
    cout 	<< 	"set1中的元素是: 	";
    for 	(auto 	it 	= 	s1.begin(); 	it 	!= 	s1.end(); 	it++)
        cout 	<< 	*it 	<< 	" 	";
 
    set<int> 	s2;
 
    //الوظيفة تدرج مجموعة واحدة داخل مجموعة أخرى
    //العناصر من 3 إلى النهاية
    //إدراج في set2
    s2.insert(s1.find(3), 	s1.end());
 
    cout 	<< 	"\nالعناصر في set2 هي: 	";
    for 	(auto 	it 	= 	s2.begin(); 	it 	!= 	s2.end(); 	it++)
        cout 	<< 	*it 	<< 	" 	";
 
    return 0;
}

الإخراج:

العناصر في set1 هي: 1 2 3 4 5 
العناصر في set2 هي: 3 4 5

مثال 4

دعونا مثال ساده‌ای را ببینیم، که عناصر را از لیست اولیه‌ای وارد می‌کند:

#include 	<iostream>
#include 	<set>
using 	namespace 	std;
int 	main(void) 	{
   set<string> m = {"Java", "C++", "SQL"};
   
  // إدراج العناصر من قائمة التشغيل المبدئية
   m.insert({"VB", "Oracle"});
   cout << "المجموعة تحتوي على العناصر التالية:" << endl;
   for (auto it = m.begin(); it != m.end(); ++it)
      cout << *it << endl;
   return 0;
}

الإخراج:

المجموعة تحتوي على العناصر التالية:
C++
Java
Oracle
SQL
VB

في المثال أعلاه، تم إدراج العناصر من قائمة التشغيل المبدئية.

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