CodeGym
AI Academy
促销
CodeGym University
学习
课程
任务
调查 & 测验
游戏
帮助
日程
社区
Users
论坛
聊天
文章
成功故事
动态
评价
订阅
浅色主题

课时

  • 评论
  • 关于我们
开始
开始学习
立即开始学习
  • 我的进度
  • 课程
  • 任务地图
  • 课程
  • 索引与数据一致性

    C++ SELF
    等级 61,课时 0
    讲解如何通过索引加速数据查找并同时不破坏一致性:为什么需要单一的“真实来源”,什么是不变式(invariant),如何构建 id → 位置 的方案和二级索引( email, tag),指针/迭代器指向 std::vector 元素时有什么危险,如何正确地通过 swap-erase 删除,什么时候值得 rebuild 索引,以及为什么 assert 可以在用户察觉之前更早地捕获不同步问题。
    可用
  • std::sort 与 std::stable_sort

    C++ SELF
    等级 61,课时 1
    我们把 C++ 中的排序视为对区间的操作,并比较 std::sort 与 std::stable_sort:稳定性是什么意思,为什么“相等”的元素会“跳动”,如何通过比较器 comp(函数 bool)指定顺序,以及在实际场景中如何使用稳定排序——例如任务 UX 列表与多步骤多键排序。
    可用
  • 比较器与 strict weak ordering

    C++ SELF
    等级 61,课时 2
    我们把比较器作为顺序契约来讲:如何理解 comp(a, b),为什么不能写 <=/ >=,什么是 strict weak ordering(用 C++ 的术语—— concept strict_weak_order),等价关系 ! comp(a, b) && ! comp(b, a) 是什么,为什么需要 tie-breaker,以及同一个比较器为何应在 std::sort 和 std::lower_bound/ std::binary_search 中重用。
    可用
  • std::binary_search, std::lower_bound, std::upper_bound

    C++ SELF
    等级 61,课时 3
    我们来解析 C++ 中的一组二分搜索算法:如何通过 std::binary_search 快速检查键是否存在,如何通过 std::lower_bound 获取插入位置和“匹配候选”,以及如何通过 std::upper_bound 找到重复元素的右边界。单独强调一个重要的前提:区间必须用相同的顺序排序(相同的 operator< 或相同的比较器),否则结果不保证。通过对 struct Task 的搜索示例以及在小型应用 TaskBox 中维护有序性来巩固这些概念。
    可用
  • 范围聚合:STL 中的 accumulate 及 min/max 查找

    C++ SELF
    等级 61,课时 4
    解析 C++(STL)中的“范围聚合”:如何通过 std::accumulate 将容器安全地归约为一个值(以及为什么结果类型由 init 参数决定)、如何通过 std::min_element/ std::max_element 查找极值,以及如何使用 std::minmax_element 在一次遍历中同时得到两端界限。所有示例都基于小型应用 TaskBoard 使用 std::vector,并附带常见错误分析。
    可用
Learn
  • 注册
  • Java 课程
  • 任务帮助
  • 定价
  • Java 语法
社区
  • 用户
  • 文章
  • 论坛
  • 聊天
  • 成功故事
  • 动态
  • 联盟计划
Company
  • 关于我们
  • 联系方式
  • 评价
  • 媒体中心
  • CodeGym for EDU
  • 常见问题
  • 支持
CodeGymCodeGym 是一个从零开始学习 Java 编程的在线课程。该课程是初学者掌握 Java 的完美方式。它包含 1200+ 个带即时验证的任务,以及必要的 Java 基础理论。为了帮助你在学习中取得成功,我们实现了一系列激励功能:测验、编码项目、关于高效学习的内容,以及 Java 开发者职业相关内容。
关注我们
界面语言
English Deutsch Español हिन्दी Français Português Polski বাংলা
简体中文
मराठी தமிழ் Italiano Bahasa Indonesia 繁體中文 Nederlands 日本語 한국어 Bulgarian Danish Hungarian Basa Jawa Malay Norwegian Romanian Swedish Telugu Thai Українська Filipino Turkish Azərbaycan Русский Vietnamese
“程序员是培养出来的,不是天生的” © 2026 CodeGym
MastercardVisa
“程序员是培养出来的,不是天生的” © 2026 CodeGym