C ++ set clear()函數用于刪除set容器的所有元素。清除集合并將其大小轉換為0。
void clear(); //C++ 11 之前 void clear() noexcept; //C++ 11 之后
沒有
沒有
大小線性。
與該容器相關的所有迭代器,引用和指針均無效。
容器已修改。
所有包含的元素均已修改。
此函數永遠不會引發(fā)異常。
讓我們看一個簡單的示例,在清除操作之前和之后計算set的大小:
#include <iostream>
#include <set>
using namespace std;
int main() {
set<int> myset = {10,20,30,40};
cout << "在清除操作前set集合初始大小 = " << myset.size() << endl;
myset.clear();
cout << "在清除操作后set集合大小 = " << myset.size() << endl;
return 0;
}輸出:
在清除操作前set集合初始大小 = 4 在清除操作后set集合大小 = 0
在上面的示例中,一個集合用4個元素初始化,因此大小為4,但是在清除操作后大小為0。
讓我們看一個簡單的示例,以清除集合中的元素:
#include <iostream>
#include <set>
using namespace std;
int main ()
{
set<string> myset;
myset = {"Nikita","Deep","Aman"};
cout << "myset 包含:\n";
for (set<string>::iterator it=myset.begin(); it!=myset.end(); ++it)
cout << *it<< '\n';
myset.clear();
myset= {"Divya", "Raaz"};
cout << "\nmyset 包含:\n";
for (set<string>::iterator it=myset.begin(); it!=myset.end(); ++it)
cout << *it<< '\n';
return 0;
}輸出:
myset 包含: Aman Deep Nikita myset 包含: Divya Raaz
在上面的示例中,清除設置后,我們可以添加新元素而無需初始化。
讓我們看一個簡單的示例,以清除集合中的元素:
#include <iostream>
#include <set>
using namespace std;
int main ()
{
int n;
set<string> m1,m2,m3;
m1 = {"Hello", "World"};
m2 = {"Java", "Program"};
m3 = {"C++", "Coding"};
cout << "m1組有以下成員:\n";
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您要刪除哪個組?\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<<"無效選項!";
return 0;
}輸出:
m1組有以下成員: Hello World m2組有以下成員: Java Program m3組有以下成員: C++ Coding 您要刪除哪個組? 1.m1 2.m2 3.m3 請輸入您的選擇: 2 m2組已被清除。
在上面的示例中,設置了三組,并根據用戶的選擇刪除了一組。
讓我們看一個簡單的實例:
#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()<<" 水果在桶里 \n";
}
else if(n==0)
cout <<fruit.size() << " 水果在桶里 \n" ;
return 0;
}輸出:
水果桶有以下水果 = 菠蘿 蘋果 香蕉 是否要清除水果籃? 按1表示是,按0表示否。: 1 0 桶里的水果全部被拿走
在上面的示例中,一個水果集用三個水果初始化。要求清除集,如果輸入0,則水果桶有3個元素;如果輸入1,則將清除水果集,大小變?yōu)?。