您的位置:首页 > 财经 > 金融 > 推广网站刷排名_传奇开服网_360优化大师官方版_关键词搜索推广

推广网站刷排名_传奇开服网_360优化大师官方版_关键词搜索推广

2024/11/17 16:11:19 来源:https://blog.csdn.net/2302_79795489/article/details/142580098  浏览:    关键词:推广网站刷排名_传奇开服网_360优化大师官方版_关键词搜索推广
推广网站刷排名_传奇开服网_360优化大师官方版_关键词搜索推广

在 C++ 中,setmap 是两个常用的容器,它们分别在 <set><map> 头文件中定义

一、set

set 是一个集合,它可以存储唯一的元素(不重复),且自动排序(默认是升序)

插入、查找和删除的时间复杂度平均为 O(log n)

set<int> mySet;// 插入元素mySet.insert(5);mySet.insert(3);mySet.insert(8);mySet.insert(5); // 重复的元素不会插入// 遍历 setfor (const auto& elem : mySet) {cout << elem << " "; // 输出: 3 5 8(自动升序排列)}cout << std::endl;// 查找元素if (mySet.find(3) != mySet.end()) {cout << "Found 3!" << std::endl;}// 删除元素mySet.erase(3);// 检查删除后的结果if (mySet.find(3) == mySet.end()) {cout << "3 has been removed." << std::endl;}

二、map

map 是一个关联数组,它存储键值对(key-value pairs),

且每个键都是唯一的(不重复),键会自动排序(默认是升序)

查找、插入和删除的时间复杂度平均为 O(log n)

//定义mapmap<int, string> mapStudent;//插入元素mapStudent.insert(pair<int, string>(1, "Da Ming")); //insert插入pair<int,string>,要写类型mapStudent[3] = "Lingling"; //用数组的方式插入mapStudent[2] = "Amy";//map元素不能重复,若已有了该key再插入该key,用insert会插入失败,用"array"会实行覆盖操作//遍历mapfor (const auto& pair : mapStudent) {cout << pair.first << ' ' << pair.second << endl;}//查找元素auto iter = mapStudent.find(1); //查找key值,返回表示对应元素位置的迭代器,找不到则返回.end()if (iter == mapStudent.end()) {cout << "Can not find" << endl;}else {cout << iter->second << endl; //iter->second表示value值}//删除元素mapStudent.erase(1); //用key值查找删除auto it = mapStudent.find(1);mapStudent.erase(it); //用iter删除mapStudent.erase(mapStudent.begin(), mapStudent.end()); //清空整个map

iter迭代器是类似指针,但相比指针有更高级的抽象,所以用iter->second;

pair是对元素的引用,所以用pair.second

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com