1. **构造函数**: - `set()`:创建一个空集合。 - `set(const set& other)`:拷贝构造函数,用另一个集合初始化当前集合。 2. **赋值和交换**: - `operator=`:将一个集合赋值给另一个集合。 - `assign`:用特定数量的元素或范围内的元素替换集合的内容。 - `swap`:交换两个集合的内容。 3. **迭代器相关**: - `begin`:返回指向第一个元素的迭代器。 - `end`:返回指向最后一个元素之后的位置的迭代器。 - `rbegin`:返回指向最后一个元素的反向迭代器。 - `rend`:返回指向第一个元素之前的位置的反向迭代器。 4. **容量**: - `empty`:判断集合是否为空。 - `size`:返回集合中元素的数量。 - `max_size`:返回集合最大可容纳的元素数量。 5. **插入和访问元素**: - `insert`:插入一个元素或多个元素。 - `erase`:移除指定元素或范围内的元素。 - `clear`:移除集合的所有元素。 - `find`:查找指定元素的迭代器。 - `count`:统计指定元素在集合中出现的次数。 6. **其他操作**: - `lower_bound`:返回第一个不小于指定元素的迭代器。 - `upper_bound`:返回第一个大于指定元素的迭代器。 - `equal_range`:返回范围内与指定元素相等的上下界迭代器对。 下面是这些函数的示例用法: ```cpp #include #include using namespace std; int main() { // 创建空集合 set myset; // 插入元素 myset.insert(5); myset.insert(10); myset.insert(3); // 查找元素 auto it = myset.find(10); if (it != myset.end()) { cout << "Element found: " << *it << endl; } // 统计元素个数 int num = myset.count(5); cout << "Number of 5s: " << num << endl; // 移除元素 myset.erase(3); // 输出元素 for (auto& num : myset) { cout << num << " "; } cout << endl; return 0; } ```