#include <set> #include <iostream> #include "function.h" using namespace std; void insert(set<int>& s, int val); void erase(set<int>& s, int val); void erase(set<int>& s, set<int>::iterator& pos); set<int>::iterator find(set<int>& s, int val); // {val, val, val} void print(set<int>& s); int main() { set<int> s; for (int i = 0; i < 5; i++) { insert(s, i); } cout << "set size: " << s.size() << endl; print(s); auto it = find(s, 1); if (it != s.end()) { erase(s, it); } cout << "set size: " << s.size() << endl; print(s); if (s.count(2) == 1) { erase(s, 2); } cout << "set size: " << s.size() << endl; print(s); return 0; }
时间: 2024-04-06 14:28:17 浏览: 41
#include"iostream.h"
3星 · 编辑精心推荐
这是一段 C++ 代码,实现了对 STL 库中的 set 容器进行插入、删除、查找、打印等操作。具体解释如下:
- insert:向 set 容器中插入一个指定的元素 val。
- erase:从 set 容器中删除一个指定的元素 val,或者删除一个指定的迭代器 pos。
- find:在 set 容器中查找指定的元素 val,返回一个迭代器,如果找不到则返回 s.end()。
- print:遍历 set 容器中的所有元素,并打印输出。
在 main 函数中,先创建一个 set 容器 s,并向其中插入 0~4 这五个元素。然后输出 set 的大小和所有元素。接着通过 find 函数查找元素 1,如果找到则通过 erase 函数删除该元素。再通过 count 函数判断元素 2 是否在 set 中,如果在则通过 erase 函数删除该元素。最后再次输出 set 的大小和所有元素。
需要注意的是,这段代码中的 insert、erase、find 和 print 函数都是自定义的,需要在 function.h 文件中进行定义。
阅读全文