1.基本概念
2.set的构造和赋值
void test01() {
set<int> s1;
s1.insert(50);
s1.insert(20);
s1.insert(10);
s1.insert(90);
s1.insert(10);
cout << "集合s1 ";
printset(s1);
set<int> s2(s1); //拷贝构造函数赋值
cout << "集合s2"<<" ";
printset(s2);
set<int>s3; // =运算符赋值
s3 = s2;
cout << "集合s3" << " ";
printset(s3);
}
3.set的大小和交换
//set的大小和交换测试函数
void test02() {
set<int> s1;
s1.insert(50);
s1.insert(20);
s1.insert(10);
s1.insert(90);
s1.insert(10);
set<int> s2;
s2.insert(60);
s2.insert(70);
s2.insert(80);
s2.insert(90);
s2.insert(10);
set<int> s3;
cout << "集合s1的大小 " << s1.size() << endl;
cout << "集合s2的大小 " << s2.size() << endl;
cout << s1.empty() << endl;
cout << s3.empty() << endl;
cout << "交换前 " << endl;
printset(s1);
printset(s2);
cout << "交换后" << endl;
s1.swap(s2);
printset(s1);
printset(s2);
}
4.set的插入和删除
//set的插入和删除测试函数
void test03() {
set<int> s1; //通过insert()函数插入集合中
s1.insert(50);
s1.insert(20);
s1.insert(10);
s1.insert(90);
s1.insert(10);
cout << "删除前s1" << endl;
printset(s1);
cout << "删除后s1" << endl;
s1.clear(); //clear()函数清空所有元素
printset(s1);
set<int> s2;
s2.insert(60);
s2.insert(70);
s2.insert(80);
s2.insert(90);
s2.insert(10);
cout << "s2" << endl;
printset(s2);
s2.erase(s2.begin());
cout << "删除s2的头元素后" << endl;
printset(s2);
s2.erase(90); //删除值为90的元素
cout << "删除值为90元素后" << endl;
printset(s2);
}
5.set的查找和统计
void test04() {
set<int> s1;
s1.insert(50);
s1.insert(20);
s1.insert(10);
s1.insert(90);
s1.insert(10);
set<int>::iterator pos = s1.find(30);
if (pos != s1.end()) {
cout << "元素已找到" << endl;
}
else {
cout << "元素未找到" << endl;
}
cout << s1.count(20) << endl;
}
6.set和multiset的区别
//set和multiset的区别测试函数
void test05() {
set<int> s1;
multiset<int> m1;
s1.insert(50);
s1.insert(20);
s1.insert(10);
s1.insert(90);
s1.insert(10);
m1.insert(50);
m1.insert(20);
m1.insert(10);
m1.insert(90);
m1.insert(10);
printset(s1);
for (multiset<int>::iterator it = m1.begin(); it != m1.end(); it++) {
cout << *it << " ";
}
cout << endl;
}
7.pair对组创建
void test06() {
pair<string, int> p1("Tom", 12);
pair<string, int> p2 = make_pair("K", 22);
cout << p1.first << " " << p1.second << endl;
cout << p2.first << " " << p2.second << endl;
}