头文件:
#inlucde
#include
向有序set集合中放入int类型的数据
#include <iostream>
#include <set>
#include <map>
using namespace std;
int main()
{
set<int> set;
for (int i = 0; i < 20; ++i)
{
set.insert(rand() % 20 + 1);
}
for (int v : set)
{
cout << v << " ";
}
cout << endl;
}
向有序set集合中放入用户自定义类型的数据
#include <iostream>
#include <set>
#include <map>
using namespace std;
class Student
{
public:
Student(int id, string name) :_id(id), _name(name) {}
bool operator<(const Student &stu)const
{
return _id < stu._id;
}
private:
int _id;
string _name;
friend ostream& operator<<(ostream& out, const Student& stu);
};
ostream& operator<<(ostream& out, const Student& stu)
{
out << "id: " << stu._id << "name: " << stu._name << endl;
return out;
}
int main()
{
set<Student> set;
set.insert(Student(2020,"张嘉文"));
set.insert(Student(2021, "李乐"));
set.insert(Student(2022, "无言"));
for (auto it = set.begin(); it != set.end(); ++it)
{
cout << *it << endl;
}
return 0;
}
向有序map映射表中放入数据:
class Student
{
public:
Student(int id = 0, string name = " ") :_id(id), _name(name) {}
private:
int _id;
string _name;
friend ostream& operator<<(ostream& out, const Student& stu);
};
ostream& operator<<(ostream& out, const Student& stu)
{
out << "id: " << stu._id << " name: " << stu._name << endl;
return out;
}
int main()
{
map<int, Student> stumap;
stumap.insert({ 2020, Student(2020,"张嘉文" )});
stumap.insert({ 2000, Student(2000,"李光") });
stumap.insert({ 2030, Student(2030,"无言") });
for (auto it = stumap.begin(); it != stumap.end(); ++it)
{
//stumap.erase(it) stumap.erase(key)
cout << "key: " << it->first << " value: " << it->second << " ";
}
// cout << stumap[2020] << endl;
cout << endl;
}