当前位置: 首页 > news >正文

大连专业手机自适应网站建设维护吉林专业做网站

大连专业手机自适应网站建设维护,吉林专业做网站,在线设计平台帮助手册,做网站在浏览器预览怎么出现了状况关联容器总结 有序关联容器 键值的顺序自动排序&#xff0c;键值必须支持 < 操作符 底层数据结构 使用平衡树&#xff0c;比如&#xff08;红黑树&#xff09;增删查的平均时间复杂度接近 O(log⁡n) 种类 std::set&#xff1a;集合&#xff0c;包含唯一的键元素。 std…

关联容器总结

有序关联容器

键值的顺序自动排序,键值必须支持 < 操作符

底层数据结构
  • 使用平衡树,比如(红黑树
  • 增删查的平均时间复杂度接近 O(log⁡n)
种类
  • std::set:集合,包含唯一的键元素。

  • std::multiset:多重集合,允许键重复。

  • std::map:映射,键值对(键唯一,值可以重复)。

  • std::multimap:多重映射,允许键重复的键值对。

无序关联容器

底层数据结构
  • 链式哈希
  • 增删查的平均时间复杂度接近O(1)
种类
  • std::unordered_set:无序集合,包含唯一的键元素。
  • std::unordered_multiset:无序多重集合,允许键重复。
  • std::unordered_map:无序映射,键唯一。
  • std::unordered_multimap:无序多重映射,允许键重复。

方法

  • 插入操作

    • insert():在容器中插入元素,返回一个迭代器和一个布尔值(表示插入是否成功)。对于无序容器,可以传入 hint 迭代器提升效率。

    • emplace():在容器中原地构造元素,避免不必要的复制或移动操作。

  • 删除操作

    • erase():根据键或迭代器删除元素。返回已删除元素的数量。
  • 查找操作

    • find():返回一个指向指定键的迭代器,若键不存在则返回 end()
#include <iostream>
#include <map>
#include <unordered_set>int main() {// std::map 示例std::map<int, std::string> m;// 插入元素m.insert(std::make_pair(1, "one"));m.emplace(2, "two");m[3] = "three";  // 使用下标操作符插入或更新元素// 查找元素auto it = m.find(1);if (it != m.end()) {std::cout << "Key 1 found with value: " << it->second << std::endl;  // 输出 "one"}else {std::cout << "Key 1 not found" << std::endl;}// 删除元素m.erase(2);  // 删除键为 2 的元素std::cout << "After erase, size of map: " << m.size() << std::endl;// 遍历元素std::cout << "Elements in map:" << std::endl;for (const auto& kv : m) {std::cout << kv.first << " => " << kv.second << std::endl;}// std::unordered_set 示例std::unordered_set<int> uset = { 1, 2, 3 };// 插入元素uset.insert(4);// 查找元素if (uset.find(3) != uset.end()) {std::cout << "Found 3 in unordered_set" << std::endl;}else {std::cout << "3 not found in unordered_set" << std::endl;}// 删除元素uset.erase(1);  // 删除元素 1std::cout << "After erase, size of unordered_set: " << uset.size() << std::endl;// 遍历元素std::cout << "Elements in unordered_set:" << std::endl;for (const auto& elem : uset) {std::cout << elem << " ";}std::cout << std::endl;return 0;
}

注:vector中push_back与emplace_back的区别

  • push_back会调用拷贝构造函数
  • emplace_back会调用构造函数原地构造对象
http://www.yayakq.cn/news/313472/

相关文章:

  • 建设网站的能力wordpress 文章居中
  • 网站建设中文摘要是什么广州市公司网站建设价格
  • 福永医院网站建设中国住建部网站查询网
  • 外贸网站个性设计seo外包推广
  • php网站开发背景介绍wordpress 友言
  • 所得税 网站建设费潮州vi设计公司
  • 志迅东莞网站建设设计logo网站知乎
  • 网站网页设计基本理论wordpress上传网上打不开
  • 洛阳外贸网站推广百度统计平台
  • 网站如何备案 流程搬瓦工wordpress
  • 给公司网站设计什么网站做电气自动化兼职
  • 手机网站建设目标电商网站欣赏
  • 网站开发 需求文档哪里有免费网站空间
  • 外贸网站哪个好上海分类信息网
  • 网站建设开发客户开场白济南网络安全公司
  • 好看的学校网站模板娱乐网站开发多少钱
  • 网站建设公司推荐乐云seowordpress 文章打不开
  • 做电商讲师课程的网站做外贸网站需要注意些什么问题
  • 网站关键字布局网站改版 影响
  • 国外做评论的网站wordpress统计访问ip
  • 虹桥网站建设景宁建设局网站
  • 如何将自己做的网站发布到网上网页设计html代码大全指定颜色
  • 南阳公司网站建设wordpress在线咨询插件
  • 惊艳的网站南宁网站的优化
  • 东莞网站排名优化价格成品免费ppt网站
  • 小说网站自主建设福州网站建设公司哪家比较好
  • 石家庄电商网站开发茶叶公司网站模板
  • 河南建网站 优帮云做照片模板下载网站
  • 织梦确定网站风格宣城市政建设集团有限公司网站
  • 标志设计网站推荐python建设电子商务网站