English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
دليل C++ std swap() طريقة الاستخدام ومثال C ++ stdswap (set)هي فيالمجموعةمنغير الع quarters
النحو template <class T, class Compare, class Alloc>
المعامل: كائن من المجموعة الأولي.
y: نفس النوع الثاني من الكائن.
لا
غير تغيير
يرجى ملاحظة أن جميع م迭代رات الاشارة إلى العناصر في الكتلين، والاشارات والنقاط، تبقى سارية.
يرجى ملاحظة أن م迭代ر النهاية لا يشارك العنصر ويجب أن يكون غير صالح.
المعطيات x و y تم تعديلها.
النداء لا يحتوي على أي عناصر مضمونة.
هذه الوظيفة لن تسبب استثناءً.
دعونا نرى مثالاً بسيطاً يبادل مجموعة العناصر بمجموعة أخرى:
#include <iostream> #include <set> using namespace std; int main(void) { set<char> m1 = {'a','b','c','d'}; set<char> m2; swap(m1, m2); cout << "المجموعة تحتوي على العناصر التالية" << endl; for (auto it = m2.begin(); it != m2.end(); ++it) cout << *it<< endl; return 0; }
الإخراج:
المجموعة تحتوي على العناصر التالية a b c d
في المثال السابق، مجموعة m1 تحتوي على خمس عناصر، بينما m2 فارغة. عند تبادل m1 مع m2، فإن جميع عناصر m1 سيتم تبادلها مع m2.
让我们看一个简单的示例来交换两个集合的内容:
#include <iostream> #include <set> using namespace std; int main () { set<int> set1,set2; set1= {100,200}; set2 = {110, 220, 330}; swap(set1,set2); cout << "set1 包含:\n"; for (set<int>::iterator it=set1.begin(); it!=set1.end(); ++it) cout << *it<< '\n'; cout << "set2 包含:\n"; for (set<int>::iterator it=set2.begin(); it!=set2.end(); ++it) cout << *it<< '\n'; return 0; }
الإخراج:
set1 包含: 110 220 330 set2 contains: 100 200
在上面的示例中,两个集合(即set1和set2)的内容相互交换。
让我们看一个简单的示例来交换两个集合的内容:
#include <iostream> #include <set> using namespace std; int main () { int myints[]={12,75,10,32,20,25}; set<int> first (myints,myints+3); // 10,12,75 set<int> second (myints+3,myints+6); // 20,25,32 swap(first,second); cout << "first contains:"; for (set<int>::iterator it=first.begin(); it!=first.end(); ++it) cout << ' ' << *it; cout << '\n'; cout << "second contains:"; for (set<int>::iterator it=second.begin(); it!=second.end(); ++it) cout << ' ' << *it; cout << '\n'; return 0; }
الإخراج:
first contains: 20 25 32 second contains: 10 12 75
让我们看一个简单的实例:
#include <iostream> #include <string> #include <set> using namespace std; void show(const char *msg, set<int> mp); int main() { set<int> m1, m2; m1.insert(100); m1.insert(300); m1.insert(200); // 交换m1和m2的内容。 cout << "交换m1和m2的内容。\n"; swap(m1,m2); show("m2内容: ", m2); show("m1内容: ", m1); // Clear m1. m1.clear(); if(m1.empty()) cout << "m1 is now empty."; return 0; } // 通过使用迭代器显示set<string, int>的内容。 void show(const char *msg, set<int> mp) { set<int>::iterator itr; cout << msg << endl; for(itr=mp.begin(); itr != mp.end(); ++itr) cout << " " << *itr << endl; cout << endl; }
الإخراج:
تبديل محتوى m1 وم2. محتوى m2: 100 200 300 محتوى m1: m1 الآن فارغة.
في الأمثلة أعلاه، محتوى المجموعة m1 تم تبديلها إلى m2، وبعد تبديل m1، تم مسح المجموعة.