“C++ map clear() 函数使用方法和例子“
map (المعينة) الخاصة بـ C++ STL
“C ++ map“ “clear()“ “函数用于删除map所有元素。它清除map并将它的大小设置为0“
“语法“ “void clear(); “//在 C++ 11 之前“
“void clear() noexcept; “//从 C++ 11 开始“ “参数“ “未有“
“返回值“ “未有“
“实例1“ “说我一个简单的例子,在清除操作前后计算map的大小“;
示例
#include
#include
using namespace std;
int main() {
map<char, “int”> mymap = {
{‘a’, “1”},
{‘b’, “2”},
{‘c’, “3”},
{‘d’, “4”},
{‘e’, “5”},
};
cout << ":来执行clear操作前map的初始大小=“ << mymap.size() << endl;
mymap.clear();
cout << ":来执行clear操作后的map大小=“ << mymap.size() << endl;
إرجاع 0;
} الخروج:
حجم map عند بدء إجراء clear = 5
حجم map بعد إجراء عملية clear = 0 في المثال السابق، تم استخدام map بـ5 عناصر. لذلك، حجم map هو 5، لكن بعد عملية الحذف، يصبح الحجم 0.
المثال 2 دعونا نرى مثالاً بسيطاً لإزالة عناصر من map.
示例
#include
#include
#include
using namespace std;
int main ()
{
map<int, string> mymap;
mymap[1] = "Nikita";
mymap[2] = "Deep";
mymap[3] = "Ashish";
cout << "مجموعة mymap تحتوي على:\n";
لـ(حلقة <int, string> ::iterator it = mymap.begin(); it != mymap.end(); ++it)
cout << it->first << " : " << it->second << '\n';
mymap.clear();
mymap[4] = "Rajni";
mymap[5] = "Sunil";
cout << "\nمجموعة mymap تحتوي على:\n";
لـ(حلقة <int, string> ::iterator it = mymap.begin(); it != mymap.end(); ++it)
cout << it->first << " : " << it->second << '\n';
إرجاع 0;
} الخروج:
يحتوي mymap على:
1 : Nikita
2 : Deep
3 : Ashish
يحتوي mymap على:
4 : Rajni
5 : Sunil في المثال السابق، بعد إزالة map، يمكننا إضافة عناصر جديدة دون إعادة التدوير.
المثال 3 دعونا نرى مثالاً بسيطاً لإزالة عناصر من map.
示例
#include
#include
#include
using namespace std;
int main ()
{
int n;
map<int, string> m1, m2, m3;
m1[1] = "Nikita";
m1[2] = "Deep";
m1[3] = "Ashish";
m2[1] = "Nidhi";
m2[2] = "Priya";
m2[3] = "Gitanjali";
m3[1] = "Rakesh";
m3[2] = "Fruti";
m3[3] = "Kamlesh";
cout << "مجموعة m1 تحتوي على الأعضاء:\n";
لـ(حلقة <int, string> ::iterator it = m1.begin(); it != m1.end(); ++it)
cout << it->first << " : " << it->second << '\n';
cout << "مجموعة m2 تحتوي على الأعضاء:\n";
لـ(حلقة <int, string> ::iterator it = m2.begin(); it != m2.end(); ++it)
cout << it->first << " : " << it->second << '\n';
cout << "مجموعة m3 تحتوي على الأعضاء:\n";
لـ(حلقة <int, string> ::iterator it = m3.begin(); it != m3.end(); ++it)
cout << it->first << " : " << it->second << '\n';
cout<<"\n您要删除哪个组?\n 1.m1\n 2.m2\n 3.m3\n 请输入您的选择: ";
cin>>n;
if(n==1){
m1.clear();
cout<<"\nm1组已被清除。";
}
else if(n==2){
m2.clear();
cout<<"\nm2组已被清除。";
}
else if(n==3){
m3.clear();
cout<<"\nm3组已被清除。";
}
else
cout<<"Invalid option!";
إرجاع 0;
} الخروج:
m1组有以下成员:
1 : Nikita
2 : Deep
3 : Ashish
m2组有以下成员:
1 : Nidhi
2 : Priya
3 : Gitanjali
m3组有以下成员:
1 : Rakesh
2 : Fruti
3 : Kamlesh
您要删除哪个组?
1. m1
2. m2
3. m3
请输入您的选择: 2
m2组已被清除。 在上面的示例中,map分为三组,根据用户的选择,一组已被删除。
实例4 让我们看一个简单的实例:
示例
#include
#include
#include
using namespace std;
int main() {
int n;
map fruit = {
{ "Banana", 40 },
{ "Apple", 190 },
{ "Orange", 120 },
};
cout << "水果桶有以下水果 = \n";
for (map::iterator it = fruit.begin(); it != fruit.end(); ++it){
cout << it->first << " : " << it->second << '\n';
}
cout << "\n你要清理你的水果桶吗?\n按1表示是,按0表示否: ";
cin >> n;
if (n == 1) {
fruit.clear();
cout << fruit.size() << " 种水果在桶里 \n";
}
else if (n == 0) {
cout << fruit.size() << " 种水果在桶里 \n";
}
إرجاع 0;
} الخروج:
1.
سلة الفواكه تحتوي على الفواكه التالية =
Apple: 190
Banana: 40
Orange: 120
هل ترغب في تنظيف سلة الفواكه الخاصة بك؟
أدخل 1 للاعتراف، أدخل 0 للاعتراف: 1
0 نوع من الفواكه في السلة
2.
سلة الفواكه تحتوي على الفواكه التالية =
Apple: 190
Banana: 40
Orange: 120
هل ترغب في تنظيف سلة الفواكه الخاصة بك؟
أدخل 1 للاعتراف، أدخل 0 للاعتراف: 0
3 أنواع من الفواكه في السلة في مثال أعلاه، تم تعريف رسم الفواكه باستخدام ثلاثة فواكه. يرجى تنظيف المعينة، إذا تم إدخال 0، فإن سلة الفواكه تحتوي على 3 عناصر؛ إذا تم إدخال 1، فإن رسم الفواكه سيتم تنظيفه، وسيصبح حجمه 0.
map (المعينة) الخاصة بـ C++ STL